String mdir:=ExtractFilePath(Application.ExeName);这句话的错误?(50分)

  • 主题发起人 主题发起人 pokar
  • 开始时间 开始时间
P

pokar

Unregistered / Unconfirmed
GUEST, unregistred user!
String mdir:=ExtractFilePath(Application.ExeName);这句话的错误?

[Error] dm.pas(36): Undeclared identifier: 'Application'
[Error] dm.pas(36): ')' expected but identifier 'ExeName' found
[Fatal Error] login.pas(36): Could not compile used unit 'dm.pas'
 
你这是Pascal还是c?

pascal:
var
mdir:String;
begin
mdir:=ExtractFilePath(Application.ExeName);
...
end;

 
源代码如下: (是Pascal)
procedure TDM1.DataModuleCreate(Sender: TObject);
VAR
cs,mdir:String;
begin
mdir:=ExtractFilePath(Application.ExeName);
//mdir:='f:/guotax';
cs:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;';
cs:=cs+'Data Source='+mdir+'/hy.hyi;Persist Security Info=False';
ADO1.ConnectionString:=cs;
ADO1.connected:=true;
end;

错误:
[Error] dm.pas(36): Undeclared identifier: 'Application'
[Error] dm.pas(36): ')' expected but identifier 'ExeName' found
[Fatal Error] login.pas(36): Could not compile used unit 'dm.pas'
 
uses forms;
如果還不行,你只要重裝delphi了,你的代碼沒有問題
 
mdir:=extractfilepath(paramstr(0))
 
同意lynu
Application是在forms中申明的!
 
那是因为没有引用所需要的单元
如果引用了SysUtils,则可以用ParamStr(0)代替
如果要使用Application对象,则需要在Uses中加Forms单元。
 
ExtractFilePath(Application.ExeName)返回的路径后已经带 /
应该改成:
cs:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;';
cs:=cs+'Data Source='+mdir+'hy.hyi;Persist Security Info=False';
 
后退
顶部