Autor Beitrag
cyberbug
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

WIN XP

BeitragVerfasst: So 10.02.08 10:38 
Guten Morgen,
ich nutze Delphi7 PE, und da ich gerne die Socket-Komponente verwenden würde, war ich auf der Suche nach einem geeigneten Tutorial. Da habe ich dann folgendes entdeckt: www.delphi-library.de/topic_64438.html .

Mein Programm sieht bis jetzt so aus:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
unit u_sockettest;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp;

type
  TForm1 = class(TForm)
    procedure DynConnectEvent(Sender: TObject; Socket: TCustomWinSocket);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
     ClientSocket1: TClientSocket; // dynamisch erzeugter TClientSocket
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Objekt erstellen; Eigentümer ist das Formular -> so wird das Objekt beim 
  // Beenden automatisch mit freigegeben 
  ClientSocket1 := TClientSocket.Create(Form1); 
  // Ereignisse eintragen 
  ClientSocket1.OnConnect := DynConnectEvent; 
  // fertig, ClientSocket dynamisch erstellt 
  ClientSocket1.Port := 8888// Port eintragen 
  ClientSocket1.Active := TRUE; // und aktivieren
end;

// dyn. Ereignismethode 
procedure TForm1.DynConnectEvent(Sender: TObject; Socket: TCustomWinSocket); 
begin 
  ShowMessage('Connect'); 
end;

end.


Wenn ich das Project jedoch kompilieren möchte, taucht folgende Fehlermeldung auf:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Sockettest.exe ist eine Exception der Klasse ESocketError aufgetreten. Meldung: 'Keine Adresse angegeben'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK   Hilfe   
---------------------------


Was habe ich falsch gemacht, oder musss ich noch etwas hinzufügen? Auch habe ich nicht gewusst welchen Port ich nehmen sollte(ich bin halt noch nicht sehr weit in delphi), deshalb habe ich einen Standard HTTP Port genommen.

Ich bedanke mich vorzeitig für Antworten
MFG cyberbug
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: So 10.02.08 12:44 
Also, du hast einen ClientSocket. Ein ClientSocket benötigt einen Server an den er sich verbindet.
Was du gemacht hast ist, jetzt mal am beispiel des Handys, du hast gesagt, dass du telfonieren möchtest (Port = .. ) und dann hast du auch schon auf Wählen gedrückt. Blöderweise hast du vergessen zu wählen =).
In deinem Programm fehlt der Host, quasi die Telefonnummer. Ohne die kann keine Verbindung aufgebaut werden.

MfG, Fighter#1

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 10.02.08 13:30 
Moin und :welcome: im Forum!

Schau mal hier, da ist das etwas ausführlicher erklärt. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
cyberbug Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

WIN XP

BeitragVerfasst: So 10.02.08 17:43 
Also erstmal danke für die Antworten.

@Narses:

von deinem Link bin ich ja auf die Seite gekommen, von der ich den Link angegeben hatte.
Das Problem war bei dem tutorial, dass nachdem ich das zweite Mal ALT+F12 gedrückt hatte eine Fehlermeldung von wegen er weiß nix von TClient Socket oder so.
Aber eig. ist mein Problem jetzt gelöst, weil ich als anhang die datei mit der dynamischen erzeugung gefunden habe.

MFG cyberbug

PS: Das Tutorial ist echt gut :wink: