请问为什么我把ado conn放在datamodule里面就无法在form里面访问了 打开菜单 project--->options;在Auto-Create Forms列表框中加入:你的datamodule 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我在form1里面use了datamodule页,否则编译肯定不通过程序运行的时候出错,我随便放了一个button执行也不行我的auto-create forms列表里面已经有了那个datamodule呀5555 以下程序我调通过,你可以采用。Form1/unit1.pas为界面窗口DM为Datamodule/DataUnit1.pas;Unit1 中声明 uses DataUnit1;procedure TForm1.SpeedButton1Click(Sender: TObject);begin dm.aconn.Connected:=false; dm.aconn.connectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;'+ // 'Password="";'+ // 'User ID=Admin;'+ // 'Data Source=D:\数据库\另一个数据库.mdb;'+ // 'Mode=Share Deny None;Extended Properties="";'+ // 'Jet OLEDB:System database="";'+ 'Jet OLEDB:Registry Path="";'+ 'Jet OLEDB:Database Password="";'+ 'Jet OLEDB:Engine Type=5;'+ 'Jet OLEDB:Database Locking Mode=1;'+ 'Jet OLEDB:Global Partial Bulk Ops=2;'+ 'Jet OLEDB:Global Bulk Transactions=1;'+ 'Jet OLEDB:New Database Password="";'+ 'Jet OLEDB:Create System Database=False;'+ 'Jet OLEDB:Encrypt Database=False;'+ 'Jet OLEDB:Don't Copy Locale on Compact=False;'+ 'Jet OLEDB:Compact Without Replica Repair=False;'+ 'Jet OLEDB:SFP'; dm.ADOTable1.Active:=faLse; dm.ADOTable1.TableName:='第二个表';//只要有 dm.aconn.Connected:=true; dm.ADOTable1.Active:=true;end; 在工程中用File->New...New页中选Data Module; 555,我是这么做的呀,谁告诉我它的email,我发给他看看呀 我也碰到了一样的问题,还有这么一个问题:在主体上点button后form1.showmodal,然后form1中定义有个全局变量再在form1上点button,form2.showmodal,这时我在form2的程序过程中访问form1中的那个变量就会出非法操作,form2中已经use了form1,编译通得过 ,就是访问那个变量时出错 应该在主窗体单元中uses你的DM单元 我肯定uses了。否则编译都不通过,以前写组件也用过,不过在接口程序里面定义了public过程Procedure Tserver.Initialize;begin inherited; Fdata:=Tsysadmin_Data.Create(forms.Application);end; //先创建if fData = nil then fData := TfData.Create(Application);if fdata.conn.connected then fdata.conn.close;或者在Program中先创建。 你的fdata变量时nil吧这样引用他的时候就会错现访问地址无效的错误你跟踪一下就会发现fdata变量没有被赋值至于如何改看你的了 多谢,我在form.show里面给创建了fdata就可以了 感谢大家几个月来对我的帮助,散掉所有可用分! dpr中如何搜索一個関数在何処被調用? 过年了,散分之5 class of 的作用? 怎么没有人 回应一下 难道要我失望么???!!!! 如何用DLEPHI编DOS代码?那里有这方面的资料找。 读不懂的语句 如何对tif文进行压缩??急!!!!!!!!!!!!! ClientDataSet修改数据库并导入后再次修改会出错,怎么办? 这个东西12周我能搞定吗? 紧急求教: 李维《ADO/MTS/COM+...》中第9章的更新数据库谁成功过... ... ...(up,gz等没分) 請問怎麼加控件(我是delphi初學者,要做項目,幫幫我吧!)
程序运行的时候出错,我随便放了一个button执行也不行
我的auto-create forms列表里面已经有了那个datamodule呀
5555
Form1/unit1.pas为界面窗口
DM为Datamodule/DataUnit1.pas;
Unit1 中声明
uses DataUnit1;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
dm.aconn.Connected:=false;
dm.aconn.connectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;'+ //
'Password="";'+ //
'User ID=Admin;'+ //
'Data Source=D:\数据库\另一个数据库.mdb;'+ //
'Mode=Share Deny None;Extended Properties="";'+ //
'Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password="";'+
'Jet OLEDB:Engine Type=5;'+
'Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don't Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP';
dm.ADOTable1.Active:=faLse;
dm.ADOTable1.TableName:='第二个表';//只要有
dm.aconn.Connected:=true;
dm.ADOTable1.Active:=true;
end;
New页中选Data Module;
再在form1上点button,form2.showmodal,这时我在form2的程序过程中访问form1中的那个
变量就会出非法操作,form2中已经use了form1,编译通得过 ,就是访问那个变量时出错
Procedure Tserver.Initialize;
begin
inherited;
Fdata:=Tsysadmin_Data.Create(forms.Application);
end;
if fData = nil then
fData := TfData.Create(Application);
if fdata.conn.connected then fdata.conn.close;
或者在Program中先创建。
这样引用他的时候就会错现访问地址无效的错误
你跟踪一下就会发现fdata变量没有被赋值
至于如何改看你的了