![]() |
Delphi-Version: 5.0
vorwärts deklaration
hallo
ich habe mich heute mit der vorwärts deklarstion befasst und bin leider nicht so richtig dahinter gestiegen.wie geht das ? wäre für hinweise sehr dankbar mfg alex |
Re: vorwärts deklaration
Vorwärtsdeklarationen sind nur innerhalb eines Definitionsblocks (type) erlaubt.
Ein Beispiel für Klassen die sich gegenseitig verwenden:
Delphi-Quellcode:
Ein Beispiel für Strukturen die sich gegenseitig verwenden:
type
// Deklariere TBar vorwärts, damit er in TFoo verwendet werden kann TBar = class; // Deklariere TFoo (verwendet TBar) TFoo = class private FBar: TBar; public property Bar: TBar read FBar; end; // Deklariere TBar (verwendet TFoo) TBar = class private FFoo: TFoo; public property Foo: TFoo read FFoo; end;
Delphi-Quellcode:
type
// Deklariere Zeiger auf TBar, damit er in TFoo verwendet werden kann PBar = ^TBar; // Deklariere TFoo (verwendet PBar) PFoo = ^TFoo; TFoo = record Bar: PBar; end; // Deklariere TBar (verwendet PFoo) TBar = record Foo: PFoo; end; |
Re: vorwärts deklaration
ebenfalls möglich: zwei Prozeduren/Funktionen rufen sich gegenseitig auf:
Delphi-Quellcode:
implementation
function Funk(x: integer): integer; forward; procedure Proz(v: double); begin [...] a:=Funk(5); [...] end; function Funk(x: integer): integer; begin [...] Proz(3.14); [...] end; |
Re: vorwärts deklaration
ja aber ich ahb folgendes problem:
ich möchte, sobald ich ein programm starte, daten in eine combobox laden, ohne einen button dafür drücken zu müssen.mir wurde gesagt dass das mit der vorwärts deklaration gehen sollte.ich habs aber wie schon gesagt nicht hin bekommen. mfg alex |
Re: vorwärts deklaration
Eine (Vorwärts-)Deklaration ist doch keine Ausführung von kompiliertem Code!
Zu deinem Problem würde ich einfach das OnCreate-Event der Form benutzen! |
Re: vorwärts deklaration
ich hab nur grundkenntnisse da ich nur den grundkurs informatik an einem gymnasium besuche.
was ist dieser "onCreate-event" und wie funktuioniert dieser? mfg alex |
Re: vorwärts deklaration
wenn du im objektinspektor statt eigentschaften oben die spalte events anklickst, dann kannst du die ganzen ereignissse sehen auf die dein form reagieren kann.
dabei ist auch das Oncreate ereignis, welches beim start aufgerufen wird. da einfach mit doppelklick draufklicken und dann wird schon eine procedure erstellt in der du dann entsprechend deine funktion einfügen kannst. ziemlich einfach eigentlich, dürfte also nichts schief gehen. des weiteren kannst du aber auch einen initialization nutzen.
Delphi-Quellcode:
dieser teil wird beim laden dieser unit ausgeführt.
initialization
LadeDatenausDB(); end. |
Re: vorwärts deklaration
Zitat:
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Object-Pascal / Delphi-Language" verschoben.
In die Code-Library kommen nur fertige Code-Snippets, keine Fragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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