procedure Log(name: string; Log: string); stdcall; overload;
var
f: Textfile;
FileName: string;
begin
// SetLogValue();
if m_nWriteLog<>1 then Exit;//m_nWriteLog声明在DLL工程中的另外一个单元中,EXE程序在调用时,执行了一次setlogvalue使m_nWriteLog:=1
FileName := '' + name + '' + '.log';
AssignFile(f, FileName);
try
if FileExists(FileName) = False then
Rewrite(f)
else
begin
Reset(f);
Append(f);
end;
Writeln(f, FormatDateTime('yyyy''/''mm''/''dd hh:nn:ss ', Now) + Log);
finally
CloseFile(f);
end;end;不知道为何,每次运行到注释那句,就直接退出了。。不知道是哪里弄错了,我另外写了一个DEMO的全局变量都可以这样用
var
f: Textfile;
FileName: string;
begin
// SetLogValue();
if m_nWriteLog<>1 then Exit;//m_nWriteLog声明在DLL工程中的另外一个单元中,EXE程序在调用时,执行了一次setlogvalue使m_nWriteLog:=1
FileName := '' + name + '' + '.log';
AssignFile(f, FileName);
try
if FileExists(FileName) = False then
Rewrite(f)
else
begin
Reset(f);
Append(f);
end;
Writeln(f, FormatDateTime('yyyy''/''mm''/''dd hh:nn:ss ', Now) + Log);
finally
CloseFile(f);
end;end;不知道为何,每次运行到注释那句,就直接退出了。。不知道是哪里弄错了,我另外写了一个DEMO的全局变量都可以这样用
昨天晚上头脑昏了。应该找到问题所在了。我在EXE程序中引用了m_nWriteLog所在单元,当时想的是直接赋值过去。后来行不通忘了去掉了。
现在删除后,通过调用DLL函数去赋值,已经可以了。