![]() |
Problem mit ClientSocket
Hallo
und zwar habe ich ein Problem. Wenn ich folgende Code direkt indie Projektdatei ,also ohne Form etc schreibe, dann meckert er immer, das keine Verbindung zum Server besteht. Wenn ich das ganze in einer Form mit nem Button versehen funktionierts!?! Mien Code
Delphi-Quellcode:
thÄnxX
program client;
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp, ExtCtrls, Jpeg; {$R *.RES} var ClientSocket: TClientSocket; FStream: TFileStream; procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin FStream := TFileStream.Create(ExtractFilePath(Application.Exename)+'screen.jpg', fmOpenRead); Socket.SendStream(FStream); end; // HAUPTPROGRAMMM begin ClientSocket := TClientSocket.Create(nil); ClientSocket.Port := 305; ClientSocket.Host := '192.168.0.1'; @ClientSocket.OnConnect := @ClientSocket1Connect; ClientSocket.Active := True; while 1=1 do begin Application.ProcessMessages; end; end. fcg |
Re: Problem mit ClientSocket
Ich denke der Fehler liegt darin das du
Delphi-Quellcode:
aufrufst ohne vorher
Application.ProcessMessages;
Delphi-Quellcode:
aufzurufen
Application.Initialize;
|
Re: Problem mit ClientSocket
Moin!
Ein Problem habe ich dir zu dem Code schon im anderen Forum geschrieben: Du umgehst die Typenprüfung Delphi direkt und somit ignorierst du einfach ein Problem: Der versteckte Self Parameter...
Delphi-Quellcode:
MfG
@ClientSocket.OnConnect := @ClientSocket1Connect;
Muetze1 |
Re: Problem mit ClientSocket
Versuche mal das hier
Delphi-Quellcode:
Bei mir klappt das.
program Project1;
uses Windows, ScktComp, ExtCtrls, Sockets, Messages, SysUtils; type TPrg = class procedure CS1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure CS1Read(Sender: TObject; Socket: TCustomWinSocket); end; var WhEvent:THandle; CS1:TClientSocket; prg: TPrg; m:tagMSG; procedure TPrg.CS1Read(Sender: TObject; Socket: TCustomWinSocket); var c,t:string; begin c:=Socket.ReceiveText; MessageBox(0,PChar(t),PChar(c),MB_OK); end; procedure TPrg.CS1Connect(Sender: TObject; Socket: TCustomWinSocket); begin CS1.Socket.SendText('Servus'); end; begin prg:=TPrg.Create; CS1:=TClientSocket.Create(nil); CS1.Port:=4567; CS1.Address:='127.0.0.1'; CS1.OnConnect:=prg.CS1Connect; CS1.OnRead:=prg.CS1Read; CS1.Active:=true; while getMessage(m,0,0,0) do begin if m.message=WM_CLOSE then Break; DispatchMessage(m); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 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