AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ereignisbehandlungsroutinen... Wie???
Thema durchsuchen
Ansicht
Themen-Optionen

Ereignisbehandlungsroutinen... Wie???

Ein Thema von Kedariodakon · begonnen am 19. Sep 2004 · letzter Beitrag vom 19. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#1

Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 11:31
Irgendwie komm ich mit Ereignisbehandlungsroutinen net klar, was das is, weiß ich, wie ich sie schreib... ka

Teste grade ein wenig mit Sockets herrum, aber bekomm die Ereignisbehandlung net hi, oder besser habe ka wie das funzt...

hab nu paar Ereignisse hier:
OnConnect
OnConnecting
OnDisconnect
OnError
OnLookup
OnRead
OnWrite


Das wär mein Socket: ClientSocket := TClientSocket.Create(nil);
aber wie zum Henker bau ich nu Ereignisse dazu?


Ich hoffe es ist wer willig mir das zu erklären, denn irgendwie finde ich nichts dazu...


MFG keda
Christian
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 11:38
Hi,

versuchs mal so:

Delphi-Quellcode:
// z.B.
ClientSocket.OnConnect := MeineOnConnectMethode;
"MeineOnConnectMethode" musst du natürlich vorher definieren.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 14:57
Das versteh ich nu gar net....
Die Ereignisse sind doch eigene Prozeduren ???

Soll MeineOnConnectMethode dann meine Procedure sein?
Wo muß ich das hinschreiben, was du da gerade geschrieben hast?


Das Ereigniss OnClick von so einem TButton wär ja procedure TForm1.Button1(Sender: TObject);

da müste doch das OnConnect Ereignis des ClientSocket auch ne Prozedure sein oder?
Nur gibts da irgendwie Richlinien für, wie die dann heißen muß?
Muß ich das wo hinschreiben?
Kein Plan und in meinem Delphi Buch steht sowas net drinn...
Da hab ich mit dem Dinge voll ins ... gegriffen...


MFG Lucky
Christian
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 15:01
hallo lucky,

Delphi-Quellcode:
procedure MeineConnection(Sender:TObject);
begin
   Showmessage('verbinden...');
end;

uund im Create;
...
...
ClientSocket.OnConnect := MeineConnection;
...
...
ich hoffe das hilft.

raik

edit // sehe gerade , daß dich noch keiner begrüßt hat:

herzlich willkommen in der delphipraxis
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 15:02
es ist egal wie die Ereignisproceduren dann heißen muss. Und wie die Ereignisproceduren auszusehen haben ist auch recht einfach.
Das "OnClick" des Buttons ist vom Typ "TNotifyEvent".
Und wenn du dann nach der Deklaration von TNotifyEvent suchst findest du
"TNotifyEvent = procedure(Sender: TObject) of object;"
und somit weißt du das dein procedurekopf so auszusehen hat:
procedure DasObject.Irgendeinname(Sender: TObject);
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 15:45
Zitat von kiar:
herzlich willkommen in der delphipraxis
danke kiar

so habe nun folgende procedure erstellt:
Code:
procedure TForm1.ClientSocketConnect(Sender: TObject);
begin
  BConnect.Enabled := False;      //TButton: BConnect
  BDisconnect.Enabled := True;   //TButton: BDisconnect
end;
OnCreate sieht so aus...
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
...
  ClientSocket.OnConnect := ClientSocketConnect;
...
end;
Aber wenn ich das Starten will bekomm ich auf ClientSocket.OnConnect := ClientSocketConnect;
Den Fehler: [Fehler] SC1.pas(37): Inkompatible Typen: 'Liste der Parameter ist unterschiedlich'



@SirThornberry
Das versteh ich nicht wirklich...
Seh ja auch nirgends ein: TForm1.OnCreate := TForm1.FormCreate;
Obwohl das doch auch irgendwo sein muß oder??

MFG Keda
Christian
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 16:56
Hi Lucky,

Du siehst die Zuweisung der OnCreate-Routine des Forms nicht, da dies in der dfm-Datei geschieht. Zieh mal eine TClientSocket-Kompo aufs Form, dann kannst du die Routinen über den OI einfügen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 17:07
jup hab ich schon gefunden:

Code:
...
  object Bconnect: TButton
    Left = 168
    Top = 56
    Width = 75
    Height = 25
    Caption = 'Connect'
    TabOrder = 0
    OnClick = BconnectClick
  end
...

Kann ich dort eigendlich auch meine TClientSocket per Hand einfügen?
Es gibt ne Socket Komponente? Hab irgendwie keine gefunden
Ich habe Delphi 7 - Enterprise zur info...

Aber warum bekomm ich in dem oben genannten Beispiel eine Fehlermeldung?
Wo liegt da mein Fehler?
Ich find ihn nicht

Edit: Hab nun mal alles nochmal vereinfacht nachgebaut, vielleicht findet ja wer den Fehler...
Ich seh ihn irgendwie net...

Code:
unit SC1;

interface

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

type
  TForm1 = class(TForm)
    Bconnect: TButton;
    EIp: TEdit;
    EPort: TEdit;
    BDisconnect: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BconnectClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure BDisconnectClick(Sender: TObject);
    procedure ClientSocketConnect(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  ClientSocket : TClientSocket;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientSocket := TClientSocket.Create(nil);
  ClientSocket.OnConnect := ClientSocketConnect;
end;

procedure TForm1.BconnectClick(Sender: TObject);
begin
  ClientSocket.Host := EIp.Text;
  ClientSocket.Port := StrToInt(EPort.Text);
  ClientSocket.Open;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  ClientSocket.Destroy;
  ClientSocket := nil;
end;

procedure TForm1.BDisconnectClick(Sender: TObject);
begin
  ClientSocket.Close;
end;

procedure TForm1.ClientSocketConnect(Sender: TObject);
begin
  BConnect.Enabled := False;
  BDisconnect.Enabled := True;
end;

end.
In der Zeile ClientSocket.OnConnect := ClientSocketConnect;
kommt der Fehler: [Fehler] SC1.pas(37): Inkompatible Typen: 'Liste der Parameter ist unterschiedlich'
und ka warum...

MFG Keda
Christian
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 17:24
OnConnect von TClientsocket ist vom Typ "TSocketNotifyEvent" und das ist wie folgt definiert:
TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Ereignisbehandlungsroutinen... Wie???

  Alt 19. Sep 2004, 17:48
Zitat von SirThornberry:
OnConnect von TClientsocket ist vom Typ "TSocketNotifyEvent" und das ist wie folgt definiert:
TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;
So ein Mist aber auch, dass ich das übersehen konnte...
Big THX nu funzt alles


MFG Keda
Christian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:40 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