H
hpn_cao(小海)
Unregistered / Unconfirmed
GUEST, unregistred user!
把要执行的代码放在Execute中,出现“标记没有引用存储”的错误提示
而放在Create中就没有问题
回复人: King_Dragon() ( ) 信誉:100 2002-3-6 19:36:15 得分:0
说说你的具体问题及程序。
Top
回复人: jackystar(我) ( ) 信誉:95 2002-3-6 20:18:30 得分:0
把源代码拿出来,大家帮你分析一下
Top
回复人: hpn_cao(小海) ( ) 信誉:100 2002-3-6 20:33:05 得分:0
constructor TDataThread.Create(StrThread: string);
begin
CurPath := ExtractFilePath(ParamStr(0));
ThreadIni := TIniFile.Create(CurPath+'Configuration/ThreadWebs.ini');
ScriptIni := TIniFile.Create(curpath+'Configuration/script.ini');
GetAllParams(StrThread) ;
//**************************************
//**************************************
inherited Create(false) ;
end;
destructor TDataThread.Destroy;
begin
ThreadIni.Free ;
ScriptIni.Free ;
inherited;
end;
procedure TDataThread.Execute;
begin
OnTerminate := FrmMain.ThreadsDone;
{GetContent是我写的DLL的一个导出函数}
GetContent(aurl, aaccordantText,aaccordantimage, aCurTable_list , aCurCol_list,aCurTable_page ,aCurTableRow, aCurTableCell, abegin
Text , aEndText ,aThreadnum ,aInsertTable , aatype,aSavePath) ;
end;
Top
回复人: jovian0999() ( ) 信誉:100 2002-3-6 21:18:37 得分:0
可能你写的GetContent函数不是线程安全的。
Top
回复人: 2zhenggang(笑红尘) ( ) 信誉:100 2002-3-6 21:32:19 得分:0
建议你用LoadLibrary()试试
Top
回复人: hpn_cao(小海) ( ) 信誉:100 2002-3-7 8:56:46 得分:0
用LoadLibray还是不行,程序总是到了调用DLL函数GetContent时过不去,说
没有调用CoInitialize() ,我在Execute函数中加上了CoInitialize(nil) ;
程序倒是可以执行了,可是GetContent中的操作却不运行了,我快疯了
而放在Create中就没有问题
回复人: King_Dragon() ( ) 信誉:100 2002-3-6 19:36:15 得分:0
说说你的具体问题及程序。
Top
回复人: jackystar(我) ( ) 信誉:95 2002-3-6 20:18:30 得分:0
把源代码拿出来,大家帮你分析一下
Top
回复人: hpn_cao(小海) ( ) 信誉:100 2002-3-6 20:33:05 得分:0
constructor TDataThread.Create(StrThread: string);
begin
CurPath := ExtractFilePath(ParamStr(0));
ThreadIni := TIniFile.Create(CurPath+'Configuration/ThreadWebs.ini');
ScriptIni := TIniFile.Create(curpath+'Configuration/script.ini');
GetAllParams(StrThread) ;
//**************************************
//**************************************
inherited Create(false) ;
end;
destructor TDataThread.Destroy;
begin
ThreadIni.Free ;
ScriptIni.Free ;
inherited;
end;
procedure TDataThread.Execute;
begin
OnTerminate := FrmMain.ThreadsDone;
{GetContent是我写的DLL的一个导出函数}
GetContent(aurl, aaccordantText,aaccordantimage, aCurTable_list , aCurCol_list,aCurTable_page ,aCurTableRow, aCurTableCell, abegin
Text , aEndText ,aThreadnum ,aInsertTable , aatype,aSavePath) ;
end;
Top
回复人: jovian0999() ( ) 信誉:100 2002-3-6 21:18:37 得分:0
可能你写的GetContent函数不是线程安全的。
Top
回复人: 2zhenggang(笑红尘) ( ) 信誉:100 2002-3-6 21:32:19 得分:0
建议你用LoadLibrary()试试
Top
回复人: hpn_cao(小海) ( ) 信誉:100 2002-3-7 8:56:46 得分:0
用LoadLibray还是不行,程序总是到了调用DLL函数GetContent时过不去,说
没有调用CoInitialize() ,我在Execute函数中加上了CoInitialize(nil) ;
程序倒是可以执行了,可是GetContent中的操作却不运行了,我快疯了