Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Clientsocket NonVcl create (https://www.delphipraxis.net/121127-clientsocket-nonvcl-create.html)

gandime 22. Sep 2008 21:38


Clientsocket NonVcl create
 
Hi,
ich möchte mit NonVcl einen CLientsocket auf machen aber es will nicht so recht...
Code:
Delphi-Quellcode:
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;
Fehler:
Zitat:

Erste Gelegenheit für Exception bei $7C812AEB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 004792F0 in Modul 'NonVCL.exe'. Schreiben von Adresse 00000004'. Prozess NonVCL.exe (2860)
was mache ich falsch?


mfg

gandime

Bernhard Geyer 22. Sep 2008 21:42

Re: Clientsocket NonVcl create
 
Richtig machen wäre gut:

Delphi-Quellcode:
socket := TCsThread.Create;

gandime 22. Sep 2008 22:44

Re: Clientsocket NonVcl create
 
ohhha sowas übersehe ich wieder... thx

jokerfacehro 24. Sep 2008 21:07

Re: Clientsocket NonVcl create
 
hab auch grad ne klasse nach dem muster erstellt und selbst mit
Delphi-Quellcode:
socket:=TCsThread.Create;
bekomme ich den gleichen fehler

SirThornberry 24. Sep 2008 21:09

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?

gandime 24. Sep 2008 21:50

Re: Clientsocket NonVcl create
 
hmm bei mir funzt es aber super

jokerfacehro 27. Sep 2008 16:07

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

jokerfacehro 27. Sep 2008 16:32

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.

sirius 27. Sep 2008 17:03

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.

inherited 27. Sep 2008 18:09

Re: Clientsocket NonVcl create
 
Field.Create(self); ->
Field := TField.Create(self);


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz