CreateThread的定于如下:   
HANDLE CreateThread(
    LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to thread      security attributes
    DWORD dwStackSize, // initial thread stack size, in bytes
    LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function
    LPVOID lpParameter, // argument for new thread
    DWORD dwCreationFlags, // creation flags
    LPDWORD lpThreadId  // pointer to returned thread identifier
   );  现执行如下的代码(delphi)
 
 CreateThread(NIL,0,@ThreadTest,NiL,CREATE_SUSPENDED,Nil);出现错误提示:
   [Error] Project1.dpr(26): Types of actual and formal var parameters must be identical请问该怎么解决?

解决方案 »

  1.   

    最后一个参数是var类型,要先定义一个变量:
    var ThreadId: DWORD;
    CreateThread(NIL,0,@ThreadTest,NiL,CREATE_SUSPENDED,ThreadId);
      

  2.   

    我一般用delphi封装好的TThread的类去创建一个新的线程,比较方便。因为delphi是一个快速开发工具,既然有封装好的控件,为什么我们还要用API呢?我并不是不主张使用API。你可以试一试用TThread的类,比较简单。
    商榷!
      

  3.   

    我知道了,
    还有一个问题,您知道
      settimer 允许有事件间隔,但是它只有具有窗体的才能接受Timer事件,如果是进程的就无法接受事件,是这样的吗?有方法解决?
      

  4.   

    我不太清楚你的问题?你是需要将线程的某一部分暂停一下还是相Timer隔一定的时间就发出一个相应事件。如果是前者,可以直接用Sleep()这个函数。如果是第二种,你那样处理应该没有问题。
    商榷!