AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein in der Laufzeit erstellte Komponenten und ihre Funktionen
Thema durchsuchen
Ansicht
Themen-Optionen

in der Laufzeit erstellte Komponenten und ihre Funktionen

Ein Thema von BAMatze · begonnen am 24. Aug 2008 · letzter Beitrag vom 27. Aug 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 24. Aug 2008, 12:06
Hab Erbarmen, ich bin Brillenträger
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 24. Aug 2008, 12:10
So hab das Clientprogramm geschrieben und auch schon einige eurer Anmerkungen umgesetzt. Das Programm startet auch ohne Probleme, bis ich auf "Senden" drücke. Dann erhalte ich die Fehlermeldung: "Exeption der Klasse ESocketError mit der Meldung 'Asyncroner Socket-Fehler 10061 aufgetreten'. Da ich aber durch "localhost" eigentlich an den Client die Nachricht selbst schicke sollte das meiner Meinung nach nicht auftreten.

Delphi-Quellcode:
unit Grundclient;

interface

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

type
  TForm1 = class(TForm)
    Bt_Senden: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure OnRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure Bt_SendenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  myClient : TClientSocket;

implementation

{$R *.dfm}

procedure TForm1.OnRead(Sender: TObject; Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add('Daten vom Server');
  Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.Bt_SendenClick(Sender: TObject);
begin
  myClient.Host := 'localhost';
  myClient.Active := True;
  if myClient.active=true then
    begin
      myClient.Socket.SendText(edit2.text);
      Memo1.Lines.Add('Nachricht gesendet');
      Memo1.Lines.Add(edit2.text);
    end;
  edit2.text:=''
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Text := 'Client getrennt';

  myClient := TClientSocket.Create(self);
  myClient.Port := 6712;
  myClient.OnRead := self.OnRead;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  myClient.Free;
end;

end.
Hoffe ihr könnt mir nochmal helfen.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 24. Aug 2008, 12:45
Hast Du denn auch einen Server?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 24. Aug 2008, 12:54
muss ich den trotzdem laufen lassen? das Serverprogramm war ja das Programm von vorhin.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 24. Aug 2008, 12:55
Der Client verbindet sich mit einem Server. Dieser muss den Verbindungsversuch aber auch akzeptieren. Du kannst Dir aber auch einmal diesen Thread durchlesen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 24. Aug 2008, 17:12
Leider konnte mir die Seite nicht wirklich weiterhelfen, weil dort eine TTCPServer und TTCPClient benutzen und ganz andere Methoden haben. Hab es jetzt eine Weile versucht und verstanden, dass ich meinen Server mit dem Port und der lokalen Adresse anscheinend verbinden muss, damit er Anfragen abhören kann, aber noch keine Möglichkeit gefunden dies mit TServerSocket zu verbinden.

Vieleicht habt ihr noch ein paar Ideen.
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 27. Aug 2008, 08:59
Erstmal recht herzlichen Danke an alle die mir geholfen haben.

Hab aber noch eine weitere Frage. Ich habe die Timer-Funktion an eine Funktion der TForm angebunden, möchte dieser aber weitere Variablen übergeben. Mein Problem ist eigentlich die Angabe des richtigen Sender (TObject) dieser Funktion.

Hier meine derzeitigen Versuche:

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  Controll := TTimer.Create(self);
  Controll.Interval := 25;
  Controll.OnTimer := self.Kontrolle(Sender,Key);
  if key in [#48..#57,#44] then
    begin
      sBuffer := sBuffer + key;
    end;
end;
Wie man sieht, soll die Taste zusätzlich mitgegeben werden. Für Sender in der Funktionszuweisung Controll.OnTimer := self.Kontrolle(Sender,Key); hab ich ich schon Nil und '' angegeben aber bekomme dann immer Fehlermeldungen. Welche Angabe kann ich dort machen, damit dies nicht mehr geschieht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: in der Laufzeit erstellte Komponenten und ihre Funktione

  Alt 27. Aug 2008, 09:02
Die Signaturen müssen exakt übereinstimmen, Du kannst die Parameterliste nicht ändern. Also bliebe Dir die Möglichkeit, eine globale Variable (lieber nicht) oder eine Property (besser) zu definieren, auf die Du im Timer-Event zugreifen kannst.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 13:44 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