Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wie geht das mit den Methodenzeigern (https://www.delphipraxis.net/107947-wie-geht-das-mit-den-methodenzeigern.html)

taaktaak 5. Feb 2008 08:58

Re: Wie geht das mit den Methodenzeigern
 
Dann soll also ein vorhandenes Event OnAfterOpen erweitert/verändert werden?

sebi87 5. Feb 2008 09:04

Re: Wie geht das mit den Methodenzeigern
 
Also ursprünglich hab ich diese Procedure
Delphi-Quellcode:
procedure TJRK_GruppenForm.FormatOnGetMGNr(Sender: TField; var Text: String; DisplayText: Boolean);
begin
  Text := FormatFloat('000000', Sender.AsInteger);
end;
lokal definiert und hier aufgerufen
Delphi-Quellcode:
procedure TJRK_GruppenForm.QryMitgliederAfterOpen(DataSet: TDataSet);
begin
  Dataset.FieldByName('Mitgliedernummer').OnGetText := FormatOnGetMGNr ;
end;
Jetzt wollte ich diese Procedure in eine globale Unit Globals setzetn damit ich sie überall verwenden kann.
Aber es kommt dan immer der Fehler
[Fehler] JRK_Gruppen.pas(177): Inkompatible Typen: Methodenzeiger und reguläre Prozedur

taaktaak 5. Feb 2008 09:10

Re: Wie geht das mit den Methodenzeigern
 
Hmm, wäre es nicht der einfachste Weg, die Prozedur in der Unit zu belassen und im public-Abschnitt zu veröffentlichen?

sebi87 5. Feb 2008 09:27

Re: Wie geht das mit den Methodenzeigern
 
da ist nur das Problem das die Unit nicht immer vorhanden ist und ich somit nicht auf diese zugreifen kann.
Gibt es keine Möglichkeit diese auszulagern?

Nuclear-Ping 5. Feb 2008 09:50

Re: Wie geht das mit den Methodenzeigern
 
Für Datenbank-Sachen empfiehlt es sich, ein eigenes "Data Modul" zu haben.

sebi87 5. Feb 2008 10:37

Re: Wie geht das mit den Methodenzeigern
 
Wie meinst du das mit dem DataModul?

Nuclear-Ping 5. Feb 2008 11:41

Re: Wie geht das mit den Methodenzeigern
 
Ein DataModul kannst du über Datei -> Neu anlegen.

Da sollte man in Anwendungen, die über Datenbanken laufen, alle datenbankspezifischen Komponenten (TConnection, TQuery, TTable, ...) reinpacken. Es ist sozusagen ein Container, eine eigene Unit, eine eigene Klasse, aber keine Form.

Da kannst du auch deinen Handler dann unterbringen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.
Seite 2 von 2     12   

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