Hallo,
in der Execute-Procedure eines Threads versuche ich ein Fenster aufzurufen und dort Textfelder zu beschreiben.
a) Geht das ueberhaupt ?
folgendes brachte mir eine exception zur laufzeit :
(Eine die von EAccesViolant abgefangen wird, also Speicherzugriffsverletzung)
--------------------------------------------------------------------------
procedure TMessThread.Execute(hdl :THandle);
var MPUCom : TSerialIO;
// ComControl : KL6Control5B;
// Receive: Byte;
// Send: SendByte;
Rb : BYTE;
Sb : BYTE;
stringfollows: boolean;
stringchain : BYTE;
idx : InTeger;
MessWindow : TTest;
work : boolean;
BLenght : integer;
Buffer : PChar;
begin
MessWindow.show;
MessWindow.enabled;
work := true;
idx := 0;
end;
unit Messung;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, SerialCIO, comxio;
type
TTest = class(TForm)
StaticText1 : TStaticText;
StaticText2 : TStaticText;
Label1 : TLabel;
Label2 : TLabel;
I_L1 : TMemo;
U_L1 : TMemo;
Ciao : TButton;
procedure CiaoClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
implementation
{$R *.DFM}
procedure TTest.CiaoClick(Sender: TObject);
begin
close;
end;
--------------------------------------------------------------------------
Haengt das jetzt damit zusammen, dass ich einen Thread habe, bzw. wie kann ich das Problem loesen ?
Gruss
Frank
in der Execute-Procedure eines Threads versuche ich ein Fenster aufzurufen und dort Textfelder zu beschreiben.
a) Geht das ueberhaupt ?
folgendes brachte mir eine exception zur laufzeit :
(Eine die von EAccesViolant abgefangen wird, also Speicherzugriffsverletzung)
--------------------------------------------------------------------------
procedure TMessThread.Execute(hdl :THandle);
var MPUCom : TSerialIO;
// ComControl : KL6Control5B;
// Receive: Byte;
// Send: SendByte;
Rb : BYTE;
Sb : BYTE;
stringfollows: boolean;
stringchain : BYTE;
idx : InTeger;
MessWindow : TTest;
work : boolean;
BLenght : integer;
Buffer : PChar;
begin
MessWindow.show;
MessWindow.enabled;
work := true;
idx := 0;
end;
unit Messung;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, SerialCIO, comxio;
type
TTest = class(TForm)
StaticText1 : TStaticText;
StaticText2 : TStaticText;
Label1 : TLabel;
Label2 : TLabel;
I_L1 : TMemo;
U_L1 : TMemo;
Ciao : TButton;
procedure CiaoClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
implementation
{$R *.DFM}
procedure TTest.CiaoClick(Sender: TObject);
begin
close;
end;
--------------------------------------------------------------------------
Haengt das jetzt damit zusammen, dass ich einen Thread habe, bzw. wie kann ich das Problem loesen ?
Gruss
Frank
Comment