![]() |
Clientsocket NonVcl create
Hi,
ich möchte mit NonVcl einen CLientsocket auf machen aber es will nicht so recht... Code:
Delphi-Quellcode:
Fehler:
type
TCsThread = class constructor Create; destructor destroy; override; procedure DoOnError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure DoOnConnect(Sender: TObject; Socket: TCustomWinSocket); procedure DoOnDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure DoOnRead(Sender: TObject; Socket: TCustomWinSocket); private Cs: Tclientsocket; end; var Socket:TCsThread; destructor TCsThread.Destroy; begin cs.free; end; constructor TCsThread.Create; begin inherited Create; Cs:=TClientSocket.Create(nil);//Fehler cs.OnRead:=DoOnRead; cs.OnDisconnect:=DoOnDisconnect; cs.OnConnect:=DoOnConnect; cs.OnError:=DoOnError; end; ...blabla... begin socket.Create; end; Zitat:
mfg gandime |
Re: Clientsocket NonVcl create
Richtig machen wäre gut:
Delphi-Quellcode:
socket := TCsThread.Create;
|
Re: Clientsocket NonVcl create
ohhha sowas übersehe ich wieder... thx
|
Re: Clientsocket NonVcl create
hab auch grad ne klasse nach dem muster erstellt und selbst mit
Delphi-Quellcode:
bekomme ich den gleichen fehler
socket:=TCsThread.Create;
|
Re: Clientsocket NonVcl create
Das ist aber mehr als unwahrscheinlich das du eine Zugriffsverletzung mit exakt den gleichen Adressen hast?! Bist du dir sicher das es exakt der gleiche Fehler ist?
|
Re: Clientsocket NonVcl create
hmm bei mir funzt es aber super
|
Re: Clientsocket NonVcl create
sorry hab mich etwas undeutlich ausgedrückt, ich meinte das schreiben der adresse 00000004.
wenn ich socket:=TcsThread.Create; mache :/ werd ma guggn worans liegt |
Re: Clientsocket NonVcl create
neues problem: ich bekomme eine speicherverletzung
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TField = class constructor Create(Owner: TComponent); destructor destroy; private Fields: array[0..7] of array[0..7] of TShape; end; type TForm1 = class(TForm) Button1: TButton; Shape1: TShape; procedure Button1Click(Sender: TObject); private { Private declarations } public Field:TField; { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} destructor TField.destroy; begin Fields[0,0].Free; end; constructor TField.Create(Owner: TComponent); var i,k:integer; begin inherited Create; Fields[0,0]:=TShape.Create(Owner); //test --->Fehler {for i:=0 to 7 do for k:=0 to 7 do begin Fields[i,k]:=TShape.Create(Form1); with Fields[i,k] do begin Parent:=Form1; Width:=20; Height:=20; Left:=i*20; Top:=k*20; Brush.Color:=clGray; end; end; } end; procedure TForm1.Button1Click(Sender: TObject); begin Field.Create(self); end; end. |
Re: Clientsocket NonVcl create
Das ergibt einen neuen Thread. Bitte nicht hier kreuz und quer fragen!
Un dann schaue dir das bitte nochmal genau an! In dem Code stimmt ja gar nix. |
Re: Clientsocket NonVcl create
Field.Create(self); ->
Field := TField.Create(self); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz