AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

prozedur umleiten

Ein Thema von Pseudemys Nelsoni · begonnen am 19. Aug 2004 · letzter Beitrag vom 19. Aug 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

prozedur umleiten

  Alt 19. Aug 2004, 00:59
hi,

wie kann ich nochmal eine prozedur umleiten?

ich weiss nurnoch das es ca so aussah:

ClientSocket1.OnRead := myprozedur; *g*


geht aber nicht so ganz
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: prozedur umleiten

  Alt 19. Aug 2004, 01:07
OnRead ist eine procedure of object und deswegen musst du die adresse deiner prozedur statt der prozedur selber übergeben, was dann im endeffekt einfach 2 '@'-Zeichen mehr wären
@ClientSocket1.OnRead := @myprozedur; du könntest auch noch den umweg über eine variable gehen, is aber nur mehr tippsel-arbeit, das säh dann so aus
Delphi-Quellcode:
var SocketRead: TSocketNotifyEvent;
...
@SocketRead := @MyProzedur;
ClientSocket1.OnRead := SocketRead;
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: prozedur umleiten

  Alt 19. Aug 2004, 02:36
Oder man definiert MyProcedure gleich als Prozedur eines Objektes - z.B. des Formulars.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: prozedur umleiten

  Alt 19. Aug 2004, 02:40
das ist nur in manchen fällen nicht möglich (obwohl, es ist nur mehr schreib-arbeit )
naja aber in seinem fall wäre es ganz einfach, einmal im objektinspektor doppelklick auf das OnRead des ClientSocket1, und dann den code von myprozedur per copy&paste rein da
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: prozedur umleiten

  Alt 19. Aug 2004, 02:45
Das geht nur dann nicht, wenn man zur Laufzeit zwischen verschiedenen Verhalten umschalten will.

...naja gut, man könnte sich auch Flags setzten, und mit case arbeiten - aber die Prozeduren umzubiegen ist da doch etwas eleganter

Ist doch immer wieder gut, dass es mehrere Möglichkeiten gibt, und man sich so schön seinen Favoriten wählen kann
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: prozedur umleiten

  Alt 19. Aug 2004, 02:48
nur das es dann immer leute gibt die einem z.B. sagen dass das nich OOP gerecht is und solche sachen

[OT](mein info-lehrer meint immer zu mir das ich einer der besten schüler bin die er je hatte aber abgesehn davon das es läuft nur spaghetti-code produziere )[/OT]
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: prozedur umleiten

  Alt 19. Aug 2004, 02:55
Zitat von Nothine:
nur das es dann immer leute gibt die einem z.B. sagen dass das nich OOP gerecht is und solche sachen
Nur die erste Variante mit den expliziten Adressübergaben ist da etwas "wurschtelig", da man ja an objektlose Prozeduren übergibt. Die anderen beiden sind da denke ich mal nicht so gegen's Prinzip. Das macht Delphi selbst ja genau so! Z.B. die OnClick-Prozedur eines Buttons wird ja auf eine Prozedur des Formulars gelenkt, wenn man via Doppelclick im OI das Ereignis zuweist. Von daher kann man da nix gegen haben

Zitat von Nothine:
[OT](mein info-lehrer meint immer zu mir das ich einer der besten schüler bin die er je hatte aber abgesehn davon das es läuft nur spaghetti-code produziere )[/OT]
1. Proll! (war bei mir aber auch so )
2. Waaah Nudeln haben im Kot nix zu suchen!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: prozedur umleiten

  Alt 19. Aug 2004, 02:59
Zitat von dizzy:
Zitat von Nothine:
nur das es dann immer leute gibt die einem z.B. sagen dass das nich OOP gerecht is und solche sachen
Nur die erste Variante mit den expliziten Adressübergaben ist da etwas "wurschtelig", da man ja an objektlose Prozeduren übergibt. Die anderen beiden sind da denke ich mal nicht so gegen's Prinzip. Das macht Delphi selbst ja genau so! Z.B. die OnClick-Prozedur eines Buttons wird ja auf eine Prozedur des Formulars gelenkt, wenn man via Doppelclick im OI das Ereignis zuweist. Von daher kann man da nix gegen haben
dafür is meine variante nur eine zeile

Zitat von dizzy:
1. Proll! (war bei mir aber auch so )
2. Waaah Nudeln haben im Kot nix zu suchen!
1. Proll? Ich? Wo denkst du hin
2. das erinnert mich an die sig von jemand aus der DP "Leute fresst mehr Scheiße! 1 Milliarde Fliegen können nicht irren!" (oder so)
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: prozedur umleiten

  Alt 19. Aug 2004, 03:04
Zitat von Nothine:
dafür is meine variante nur eine zeile
Naja, für No2 brauchts ja auch nur die Deklaration in TForm1 mehr... die Prozedur selber muss ja eh her . Find ich jetzt nicht so den Aufwand... *g*

Zitat von Nothine:
1. Proll? Ich? Wo denkst du hin
2. das erinnert mich an die sig von jemand aus der DP "Leute fresst mehr Scheiße! 1 Milliarde Fliegen können nicht irren!" (oder so)
1. Sach ich nich
2. Schön fand ich auch: "Rettet die Bäume - esst mehr Biber!"


So, ich geh' jetzt schlafen. Ist ja schon früh genug .

bye,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  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 02:39 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