Thema: Delphi Threads

Einzelnen Beitrag anzeigen

clownxx

Registriert seit: 18. Jun 2003
63 Beiträge
 
#8

Re: Threads

  Alt 5. Aug 2003, 10:40
Delphi-Quellcode:
unit Sendethread;

interface

uses
  Classes, messages, dialogs, unit1;

type
  Tstatus = procedure (status: integer; text: Pchar); stdcall;

  TSendeThread = class(TThread)
  private
    { Private-Deklarationen }
  protected
    procedure Execute; override;
  public
    constructor create(createsuspended: boolean);
  end;

  var
  gtext: string;
  gstatus: integer;
  sendestatus: Tstatus;
  procedure sms_senden(msn,smsc,nr,text: Pchar; status: Tstatus); stdcall;
  procedure statusbericht(status: integer; text: Pchar); stdcall;
implementation

{ TSendeThread }

procedure sms_senden(msn,smsc,nr,text: Pchar; status: Tstatus); stdcall;
external 'sms_dll.dll';

constructor TSendeThread.create(createsuspended: boolean);
begin
inherited create(createsuspended);
sendestatus:=statusbericht;
end;

procedure TSendeThread.Execute;
begin
    { Thread-Code hier einfügen }
  sms_senden(Pchar('900...'), Pchar('01930100'), Pchar('0170...'), Pchar('test'), sendestatus);
end;

 procedure statusbericht(status: integer; text: Pchar); stdcall;
 begin
 gtext:=text;
 gstatus:=status;
 end;

end.
das habe ich bisher erreicht, jedoch wird die funktion im execute Teil nicht komplett ausgeführt, sonden bleibt wohl mittendrin stehen. Muss ich synchronise verwenden?? weil ich ja eine Globale variable in der Unit schreibe??
  Mit Zitat antworten Zitat