Registriert seit: 18. Jun 2003
63 Beiträge
|
Re: Threads
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??
|
|
Zitat
|