Autor Beitrag
N3tw124rd
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75


D5 Prof.
BeitragVerfasst: Fr 25.07.03 13:02 
Hi,

ich habe eine Unit in der Ich eine TClientSocket komponente create

ausblenden Delphi-Quelltext
1:
client := TClientSocket.create(self);					


im nächsten Schritt weise ich dem onError Event eine Procedure zu

ausblenden Delphi-Quelltext
1:
client.onError := onError;					


diese wird aber nicht ausgeführt wenn ein Error kommt warum?
Hab ich was vergessen ?

MFG N3tw124rd

Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.
ShadowThief
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Fr 25.07.03 13:35 
freu dich doch, wenn keine errors kommen :D .
ähm, jetzt ma im ernst, eigentlich müsste es passen, bist du
sicher, dass ein fehler kommen sollte. nimm halt mal noch
ein anderes event (onconnect, oder so ähnlich), weil das kannst du
besser nachprüfen.
N3tw124rd Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75


D5 Prof.
BeitragVerfasst: Fr 25.07.03 13:44 
Hi,
Ich bin mir 100% sicher das ein Fehler kommt den ich versuche eine Verbindung auf zu machen zu einem Server den es nicht gibt...
Ich bekomme auch einen Fehler und zwar 10065 für connection refused...
Aber in die Error-Procedure fällt er nicht rein...

MFG N3tw124rd
ShadowThief
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Fr 25.07.03 13:48 
und die error-procedure sieht genau so aus, wie als würdest du die
client-komponente auf der form liegen haben und dann bei ereignissen
einen doppelklick auf onerror machen, oder was?
N3tw124rd Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75


D5 Prof.
BeitragVerfasst: Fr 25.07.03 13:50 
hi,

um genau zu sein hab ich die Procedure auch schon mal aus dem Formular kopiert und abgeändert und dann die Komponente auf dem Form gelöscht...
Aber es geht immer noch nicht ...
ShadowThief
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Fr 25.07.03 13:52 
ja das mach ich auch immer so, es müsste dann eigentlich gehn.
allzu viel code kann es ja nicht sein, oder?

dann poste es mal hier rein und ich teste es kurz,
das prob is, dass ich hier keine e-mails empfangen kann,
also musst du hier rein posten.
N3tw124rd Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75


D5 Prof.
BeitragVerfasst: Fr 25.07.03 14:06 
Hi,
hier ist der Source des Constructors meiner Klasse...
AOwner wird mit self übergeben...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  client := TClientSocket.create(AOwner);

  client.onError := onError;
  client.onConnect := clientConnect;
  client.OnWrite := clientWrite;
  client.OnRead  := clientRead;


Und hier ist die Procedure onError...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TOPC.onError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
  iError := ErrorCode;
  ErrorCode := 0;
end;


MFG N3tw124rd

Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.
ShadowThief
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Fr 25.07.03 14:26 
ich bekomme auch kein event, ich hab das grad mal mit einer form
probiert, d. h. ich hab tclientsocket auf die form gezogen, ab ein
onerror-event hinzugefügt, völlig sinnlosen host und port eingegeben
und auf einen button clientsocket1.active := True gemacht.

keine fehlermeldung nix. und wozu führt uns das?

zu dem was ich schon immer verzweifelt versuche der menschheit
klar zu machen -> scheisst auf die komponenten clientsocket und
serversocket, weil die sche**** sind.
ich habs mit denen auch probiert, aber irgendwann hatte ich die schnauze
voll und bin auf indy umgestiegen, die sind wesentlich besser, weil:
die funktionieren.

also sorry, ich kann dir nicht weiterhelfen.

p. s. bei delphi7 sind die beiden komponenten eh nicht mehr dabei.
N3tw124rd Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75


D5 Prof.
BeitragVerfasst: Fr 25.07.03 14:35 
hi,

wenn du die procedure benutzt hast und keinen breakpoint gesetzt hast in der procedure bekommst du auch keinen fehler,
weil in der Procedure der Errorcode auf 0 gesetzt wird ...
aber ich denke das ist klar...

THX für deine bemühungen

MFG N3tw124rd
ShadowThief
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Fr 25.07.03 14:36 
ja ich hatte nen breakpoint gesetzt.
kam nix.
N3tw124rd Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75


D5 Prof.
BeitragVerfasst: Fr 25.07.03 14:43 
Also bei einem Formular hats geklappt nur in der Unit nicht...

schade
ShadowThief
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 278



BeitragVerfasst: Fr 25.07.03 14:49 
bei mir hats nicht mal im formular geklappt, ich glaub ich hab irgend-
was falsch gemacht.

ich hab ne tclientsocket-kompo auf die formgezogen und
host auf '192.168.0.1' gesetzt (ne ip die es bei uns im netz nicht gibt)
und den port hab ich auf 666 gesetzt.

dann hab ich noch nen button runtergezogen und hab im onclick-
ereignis ClientSocket1.Active := True; gesagt.

dann noch im onerror-event von tclientsocket: showmessage('getZ');

anwendung gestartet und auf den button geklickt: nix.

hab ich was vergessen?
N3tw124rd Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75


D5 Prof.
BeitragVerfasst: Fr 25.07.03 14:55 
ich hab das selbe eben mal probiert bei mir kommt erst die showmessage dann der Fehler...

Ich weiss auch nicht mehr :(