Multithreading 如何在lazarus中使用线程?
我正在使用Lazarus开发一个多线程应用程序。据我所知,我必须将类“cthreads”添加到uses子句中,并在“ifdef useschthreads”中定义它,因此下面是代码的相关部分:Multithreading 如何在lazarus中使用线程?,multithreading,lazarus,Multithreading,Lazarus,我正在使用Lazarus开发一个多线程应用程序。据我所知,我必须将类“cthreads”添加到uses子句中,并在“ifdef useschthreads”中定义它,因此下面是代码的相关部分: unit Unit2; {$mode objfpc}{$H+} {$IFDEF usesCthreads} Cthreads; {$ENDIF} interface uses Forms, Classes, SysUtils, SyncObjs, Math, IdHttp,DateUtils,Dialo
unit Unit2;
{$mode objfpc}{$H+}
{$IFDEF usesCthreads}
Cthreads;
{$ENDIF}
interface
uses Forms, Classes, SysUtils, SyncObjs, Math, IdHttp,DateUtils,Dialogs,
ComCtrls, IdHashMessageDigest,idHash,IdComponent, cthreads;
没有编译错误,但是表单没有被创建,因为我在编译之后就收到了这样一条消息:“runerror(211)”,另外程序集窗口显示:Cthreads_init(127)。
我猜我的代码有问题,那是什么?
感谢您的回复。不确定,但对于Linux上的多线程应用程序,{$define-UseCThreads}是必须的。在
使用
之后立即添加到项目代码:{$IfDef-Linux}{$define-UseCThreads}{$EndIf}
相反,我必须将此添加到我的项目代码:{$define-UseCThreads}{$IfDef-UNIX}{$IfDef-UseCThreads}{$EndIf}{$EndIf}。谢谢你的帮助