本来是点击按钮就连接数据库
代码如下:
procedure TXmlF.btnDownClick(Sender: TObject);
begin
...
dmMain.adoMain.Connected:= False;
dmMain.adoMain.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ExtractFilePath(ParamStr(0))+'db\shshipbill.mdb;Persist Security Info=False;'
+'Jet OLEDB:Database Password=shshipbill&20040818';
...
end;我现在想改成窗口打开就连接数据库
改写成:
procedure TXmlF.FormCreate(Sender: TObject);
begin
dmMain.adoMain.Connected:= False;
dmMain.adoMain.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ExtractFilePath(ParamStr(0))+'db\shshipbill.mdb;Persist Security Info=False;'
+'Jet OLEDB:Database Password=shshipbill&20040818';
end;可是不成功,还报错Access violation at address 0050CA16 in module 'DataUpdate.exe'
DataUpdate.exe是代码编译后的文件
请问高手问题出在哪里,或者要实现我的目的应该怎么做?
代码如下:
procedure TXmlF.btnDownClick(Sender: TObject);
begin
...
dmMain.adoMain.Connected:= False;
dmMain.adoMain.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ExtractFilePath(ParamStr(0))+'db\shshipbill.mdb;Persist Security Info=False;'
+'Jet OLEDB:Database Password=shshipbill&20040818';
...
end;我现在想改成窗口打开就连接数据库
改写成:
procedure TXmlF.FormCreate(Sender: TObject);
begin
dmMain.adoMain.Connected:= False;
dmMain.adoMain.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ExtractFilePath(ParamStr(0))+'db\shshipbill.mdb;Persist Security Info=False;'
+'Jet OLEDB:Database Password=shshipbill&20040818';
end;可是不成功,还报错Access violation at address 0050CA16 in module 'DataUpdate.exe'
DataUpdate.exe是代码编译后的文件
请问高手问题出在哪里,或者要实现我的目的应该怎么做?
你用到的变量还没有初始化,
就是说没有分配内存,所以
不可访问。
在formshow里面写的memo1.lines.add('aaa')就没有效.
刚用delphi,很急的东西,来不及去系统的学习了
能不能请高手直接给我提示一下该如何去做啊
//----------------------------------------------
改法跟原因我都說了,
你那不行估計是沒有彻底编译吧,
彻底编译一下,在formshow中设个
断点跟一下看看
procedure TXmlF.FormShow(Sender: TObject);
beginend;
把前面写的以下代码从FormCreate中剪切到FormShow中来
dmMain.adoMain.Connected:= False;
dmMain.adoMain.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ExtractFilePath(ParamStr(0))+'db\shshipbill.mdb;Persist Security Info=False;'
+'Jet OLEDB:Database Password=shshipbill&20040818';
就是我调试的时候调到一半就停下来,让我找WinSkinStore.pas这个文件