多谢了!

解决方案 »

  1.   

    SPCOMM有发送缓冲区?
    function TComm.WriteCommData( pDataToWrite: PChar; dwSizeofDataToWrite: Word ): Boolean;
    var
       Buffer: Pointer;
    begin
         if (WriteThread <> nil) and (dwSizeofDataToWrite <> 0) then
         begin
              Buffer := Pointer(LocalAlloc( LPTR, dwSizeofDataToWrite+1 ));
              Move( pDataToWrite^, Buffer^, dwSizeofDataToWrite );
              if PostThreadMessage( WriteThread.ThreadID, PWM_COMMWRITE,
                                    WPARAM(dwSizeofDataToWrite), LPARAM(Buffer) ) then
              begin
                   FSendDataEmpty := False;
                   Result := True;
                   Exit
              end
         end;     Result := False
    end;
    buffer:是个临时的指针,指向你要发送的数据区。