我做的是一个工程下的
多窗口界面,就是说,main.pas和unit.pas是一个工程
下的,本来已经在main下定义了mypath而且在unit中也
使用了use main;但为什么编译时总说mypath没有定义,
各位同学帮帮忙,我很急(是领导急所以我也急……我怕他开我)
以下是main.pas的部分代码
procedure Tmainform.FormCreate(Sender: TObject);begin
mypath:=ExtractFilePath(paramstr(0));
shortdateformat:='yyyy/mm/dd';
end;procedure Tmainform.Button1Click(Sender: TObject);
begin
bookform.show;
end;procedure Tmainform.Button2Click(Sender: TObject);
begin
readerform.show;
end;procedure Tmainform.Button3Click(Sender: TObject);
begin
lendform.show;
end;procedure Tmainform.Button4Click(Sender: TObject);
begin
close;
end;procedure Tmainform.Button5Click(Sender: TObject);
begin
queryform.show;
end;end.以下是unit.pas的部分代码
unit Unit1;interfaceuses
SysUtils, Classes, ADODB, DB;type
TDataModuleADO = class(TDataModule)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
DataModuleADO: TDataModuleADO;implementation
uses main;
{$R *.dfm}procedure TDataModuleADO.DataModuleCreate(Sender: TObject);
begin
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;datasource='+mypath+'data\bookmanage.mdb;'+'Persist Security info=false';
ADOQuery1.Connection:=ADOConnection1;
ADOTable1.Connection:=ADOConnection1;
end;end.
多窗口界面,就是说,main.pas和unit.pas是一个工程
下的,本来已经在main下定义了mypath而且在unit中也
使用了use main;但为什么编译时总说mypath没有定义,
各位同学帮帮忙,我很急(是领导急所以我也急……我怕他开我)
以下是main.pas的部分代码
procedure Tmainform.FormCreate(Sender: TObject);begin
mypath:=ExtractFilePath(paramstr(0));
shortdateformat:='yyyy/mm/dd';
end;procedure Tmainform.Button1Click(Sender: TObject);
begin
bookform.show;
end;procedure Tmainform.Button2Click(Sender: TObject);
begin
readerform.show;
end;procedure Tmainform.Button3Click(Sender: TObject);
begin
lendform.show;
end;procedure Tmainform.Button4Click(Sender: TObject);
begin
close;
end;procedure Tmainform.Button5Click(Sender: TObject);
begin
queryform.show;
end;end.以下是unit.pas的部分代码
unit Unit1;interfaceuses
SysUtils, Classes, ADODB, DB;type
TDataModuleADO = class(TDataModule)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
DataModuleADO: TDataModuleADO;implementation
uses main;
{$R *.dfm}procedure TDataModuleADO.DataModuleCreate(Sender: TObject);
begin
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;datasource='+mypath+'data\bookmanage.mdb;'+'Persist Security info=false';
ADOQuery1.Connection:=ADOConnection1;
ADOTable1.Connection:=ADOConnection1;
end;end.
mypath是不是全局变量啊??
好象你没有再MAIN中申明哦
我疯了
mypath:string;
……
定义在public中看看。
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;datasource='+mainform1.mypath+'data\bookmanage.mdb;'+'Persist Security info=false';