AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi ClientSocket Problem
Thema durchsuchen
Ansicht
Themen-Optionen

ClientSocket Problem

Ein Thema von ddcool · begonnen am 8. Okt 2003 · letzter Beitrag vom 8. Okt 2003
Antwort Antwort
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#1

ClientSocket Problem

  Alt 8. Okt 2003, 13:34
Hi Leute ich habe da mal ne Frage.
Ich wollte ein Proggy schreiben, was eine varierbare Anzahl von Connections zu einem Server aufbaut, und zwar gleichzeitig.
Nun habe ich alles soweit fertig nur mit dem erstellen neuer TClientSocket Komponenten wärend des betriebes hakert es:

Delphi-Quellcode:
var
  show: Tshow;
  newclient: TClientSocket;
  kompo: TClientSocket;
  namec: String;

implementation

{$R *.dfm}

procedure connect;
var
  null: Integer;
begin
  for null := 0 to StrToInt(show.anzahl.Text) do
  begin
  namec := 'clientkompo'+IntToStr(null);
  kompo := newclient.Create(kompo);
  kompo.Name := namec;
  kompo.Port := StrToInt(show.portt.Text);
  kompo.Host := show.adr.Text;
  kompo.Open;
  end;
end;
was ist daran falsch????
BITTE GENAUE LÖSUNGSBESCHREIBUNG UND WENN ES GEHT EINEN ÜBERARBEITETEN QUELLTEXT

THX Basti
  Mit Zitat antworten Zitat
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#2

Re: ClientSocket Problem

  Alt 8. Okt 2003, 13:55
Achja ich habe es jetzt hinbekommen, das sich alle Kompos öffnen.
Aber wie kann ich sie wieder schliessen.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: ClientSocket Problem

  Alt 8. Okt 2003, 14:10
Moin Basti,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Diese Zeile
Code:
kompo := [color=red]newclient[/color].Create([color=red]kompo[/color]);
müsste so aussehen:
Code:
kompo := [color=red]TClientSocket[/color].Create([color=red]Show[/color]);
Du willst ja schliesslich eine Instanz der Klasse TClientSocket erstellen.
Ausserdem musst Du einen gültigen Owner angeben, oder nil.
Nimmst Du nil, musst Du selber dafür sorgen, dass die Kompo wieder freigegeben wird, anderenfalls wird sie automatisch freigegeben, wenn der Owner freigegeben wird.

Dann ist mir nicht klar, warum Du diese Zeile hier hast:
namec := 'clientkompo'+IntToStr(null); Du kannst es schliesslich auch so machen:
kompo.Name := 'clientkompo'+IntToStr(null); Ausserdem solltest Du Dir auch mal Gedanken darum machen, wie Du Bezeichner benennst.
Show ist eine Methode, null ist eine vordefinierte Variable (einfach mal mit dem Caret draufgehen und F1 drücken).

Zitat von ddcool:
BITTE GENAUE LÖSUNGSBESCHREIBUNG UND WENN ES GEHT EINEN ÜBERARBEITETEN QUELLTEXT
Ach ja, warum schreist Du denn so?
Die Verwendung von Grossbuchstaben wird als schreien angesehen, was nicht unbedingt immer gut ankommt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#4

Re: ClientSocket Problem

  Alt 8. Okt 2003, 14:23
Danke für die Tipps, und sry wegen dem großen schreiben.

Kannst du mir vielleicht sagen. Wie ich die TClientSocket Kompos wieder schliesse.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: ClientSocket Problem

  Alt 8. Okt 2003, 14:31
Moin Basti,

da hättest Du prinzipiell zwei Möglichkeiten.
  1. Du speicherst Dir die Komponenten in einem eigenen Array of TClientSocket, so dass Du ausserhalb der Prozedur in dem Du sie erzeugst wieder darauf zugreifen kannst.
  2. Du benutzt das, sowieso vorhandenen, Array of Components des angegebenen Owners, in dem die Komponenten gespeichert werden. Heraussuchen kannst Du sie dann mit Hier im Forum suchenFindComponent (einen Namen gibst Du ihnen ja.)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.
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