我使用extractfilepath()函数竟然出错,为什么?(50分)

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

power_lei

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个SDI程序的主框架的ONCREATE函数中使用extractfilepath()函数竟然出错,
而在SDI程序中的一个FORM中的一个BUTTON上使用,却可以,为什么?

错误提示是:extractfilepath这个函数没有定义,这明明是DELPHI自带的函数吗?
请高手指点。
是不是在SDI的主框架中不能使用这样的函数?
 
SysUtils 引用了吗?
 
按住Ctrl键,用鼠标点击一下那个函数,看它能把你带到那去?!
 
能解释下原因吗?
 
不应该有问题!!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage(extractfilepath('d:/xxx/aa'));
end;

end.
 
-------------------------------------------
我在一个SDI程序的主框架的ONCREATE函数中使用extractfilepath()函数竟然出错,
而在SDI程序中的一个FORM中的一个BUTTON上使用,却可以,为什么?
--------------------
-----------------------------------------------------------------------
问题是上面的,不是在FORM中。

 
你用这个函数干什么?是不是要对数据库进行动态路径设置?

我原来遇上过类似的问题,dpr文件
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);//
Application.CreateForm(TDataModul, dm);//
Application.Run;
end.
先创建的form1,这时在form1的oncreate中设置dm中的数据集就会出错,因为dm在form1
后面创建的,form1.onCreate时dm还没有分配空间
解决办法: 先创建dm就行了
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TDataModul, dm);//
Application.CreateForm(TForm1, Form1);//就这两行对调一下,要不你就进project-->options进行设置
Application.Run;
end.

不知你是不是类似的问题
 
和你说的一模一样,我去实验一下。

回来谢你。呵呵。
 
试对了可要给我多加点分哦:)
 
接受答案了.
 
顶部