![]() |
Re: Einen Chat mit den Sockets programmieren
Zitat:
In der Toolpalette unter Internet. Wenn es da nicht ist, dann Zitat:
|
Re: Einen Chat mit den Sockets programmieren
Okay, Vielen Dank (Bei wars dclsockets90.bpl statt 70)
Jetzt is alles da ^_^ |
Re: Einen Chat mit den Sockets programmieren
Zitat:
Ich denke, das kommt auf die Version von Delphi an. |
Re: Einen Chat mit den Sockets programmieren
Naja ;) BDS 2005 wird wie "D9" verwendet ;)
Also sozusagen ist es folgender String:
Delphi-Quellcode:
(ACHTUNG: Dieser Code funktioniert so nicht!)
FileName := Format('dclsockets%d0.bpl', [Delphiversion]);
Also bei 7 ist es "70" und bei TD/BDS2006 ist es 100. MfG xZise |
Re: Einen Chat mit den Sockets programmieren
Hallo :) Ich habe eben gerade mich durch das Tutorial gekämpft...
aber irgendwie klappts an einer stelle nicht =(
Delphi-Quellcode:
Es kommt eine Zugriffsverletzung...
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, StdCtrls, ScktComp, ExtCtrls; type TForm1 = class(TForm) Client: TClientSocket; GroupBox1: TGroupBox; GroupBox2: TGroupBox; Button1: TButton; Label1: TLabel; Button2: TButton; GroupBox3: TGroupBox; Button3: TButton; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Label4: TLabel; Edit3: TEdit; Button4: TButton; Memo1: TMemo; XPManifest1: TXPManifest; Server: TServerSocket; Button5: TButton; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure Button3Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Delay(time: word); procedure ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure Button4Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Nickname: String; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Server.Active := True; Label1.Font.Color := clgreen; Label1.Caption := 'Server gestartet'; end; procedure TForm1.Button2Click(Sender: TObject); begin Server.Close; Server.Active := False; Label1.Font.Color := clred; Label1.Caption := 'Server nicht gestartet'; end; procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket); var I: Integer; test: String; begin test := Socket.ReceiveText; For I := 0 to Server.Socket.ActiveConnections - 1 do begin with Server.Socket.Connections [I] do if (Connected) then SendText(test); end; end; procedure TForm1.Button3Click(Sender: TObject); begin Client.Host := Edit2.Text; Client.Active := True; Nickname := Edit1.Text; Label4.Caption := 'Verbunden mit : ' + Client.Host; Label4.Font.Color := clgreen; Delay(500); Client.Socket.SendText(Nickname + ' hat sich angemeldet.') end; procedure TForm1.Button5Click(Sender: TObject); begin Client.Active := False; Label4.Caption := 'Nicht Verbunden'; Label4.Font.Color := clred; end; procedure TForm1.delay(time:word); var Start: Integer; begin Start:=GetTickCount; while (GetTickCount)-(Start) <= time do Application.ProcessMessages; end; procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); [b]<<< Hier stoppt es[/b] end; procedure TForm1.Button4Click(Sender: TObject); begin Client.Socket.SendText(Edit3.Text); end; end. --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Project2.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00456EFC in Modul 'Project2.exe'. Lesen von Adresse 00000220'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. Danke für eure Antworten :) |
Re: Einen Chat mit den Sockets programmieren
Überprüf mal auf Socket <> nil
|
Re: Einen Chat mit den Sockets programmieren
Nicht verfügbarer Wert beim Debuggen der Server sendet allerdings das richtige ab...
Socket = ()... |
Re: Einen Chat mit den Sockets programmieren
Habe es =) :zwinker:
Danke trotzdem für die Hilfe :) Da war irgendwie ein Memofeld buggy^^ MfG WinAPI |
Re: Einen Chat mit den Sockets programmieren
Hi ...
Ich habe das selbe Problem, was hier schonmal angesprochen, allerdings nicht richtig beantwortet wurde: Beim Setzen der IP im Client: "Asynchronous socket error 10049." Auf meinem Vista PC lautet sie wie folgt: "Windows socket error: Die angeforderte Adresse ist in diesem Kontext ungültig (10049), on API 'connect'". Irgendwer meinte, dass in diesem Fall der Client zu viele Signale hinternander sendet, aber wie kann man das beheben? Vielen Dank im Voraus ... |
Re: Einen Chat mit den Sockets programmieren
der fehler kommt bei mir auch
wie soll das denn funzen xDDD kapier nix von dem prog |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 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