AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Prinzip der Datenkapselung austricksen?
Thema durchsuchen
Ansicht
Themen-Optionen

Prinzip der Datenkapselung austricksen?

Ein Thema von sanobub · begonnen am 23. Jul 2004 · letzter Beitrag vom 24. Jul 2004
 
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#2

Re: Prinzip der Datenkapselung austricksen?

  Alt 23. Jul 2004, 20:07
Delphi-Quellcode:
type
Thallo = Class;
  constructor Create;
  procedure blabla...
  procedure OnLalaClick(sender: TObject);
private
  lala: TPanel;
end;

implementation

constructor THallo.Create;
begin
   lala.OnClick := OnLalaClick;
end;

procedure THallo.OnLalaClick(sender: TObject);
begin
   // hier wird reingelaufen wenn auf lala geclickt wird...
end;

Edit Nachtrag:
1.) Der Code ist ungetestet, sollte aber so oder zumindest so ähnlich laufen.

2.) Das Datenkapselungsprinzip 'auszutricksen' ist eine ganz, ganz böse und schlechte idee, die ich gleich wieder verwerfen würde. Das Prinzip gibt es nicht umsonst

Zum Glück hat Dein Fall nichts damit zu tun. Und Du hast vor allem noch ein sehr gutes Beispiel, weil genau das Delphi ja selber macht: Ersetze THallo doch mal spasseshalber durch TForm1, ziehe da ein Panel drauf, und erzeuge über den Objektinspektor das OnClick - Event auf dem Panel. Du wirst sehen, daß a) das Panel ein Member der Klasse TForm1 ist, so wie hier von THallo, und das die Methode genauso wie da oben auf TForm1 implementiert wird. Nur das Zuweisen der Methode (der Teil im Constructor), das macht Delphi sozusagen unsichtbar im Hintergrund (nämlich im Formular selber, in der DFM - Datei). In dem Fall machst Du das nur per Hand.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
 


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 22:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz