AGB  ·  Datenschutz  ·  Impressum  







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

vorwärts deklaration

Ein Thema von alexkoe · begonnen am 3. Feb 2006 · letzter Beitrag vom 3. Feb 2006
Antwort Antwort
alexkoe

Registriert seit: 3. Feb 2006
Ort: Monstab
19 Beiträge
 
#1

vorwärts deklaration

  Alt 3. Feb 2006, 10:35
Delphi-Version: 5.0
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
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#2

Re: vorwärts deklaration

  Alt 3. Feb 2006, 10:47
Vorwärtsdeklarationen sind nur innerhalb eines Definitionsblocks (type) erlaubt.

Ein Beispiel für Klassen die sich gegenseitig verwenden:
Delphi-Quellcode:
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;
Ein Beispiel für Strukturen die sich gegenseitig verwenden:
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;
  Mit Zitat antworten Zitat
Benutzerbild von Grishnak
Grishnak

Registriert seit: 15. Sep 2005
Ort: Neu-Ulm
111 Beiträge
 
RAD-Studio 2009 Arc
 
#3

Re: vorwärts deklaration

  Alt 3. Feb 2006, 10:51
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;
Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
  Mit Zitat antworten Zitat
alexkoe

Registriert seit: 3. Feb 2006
Ort: Monstab
19 Beiträge
 
#4

Re: vorwärts deklaration

  Alt 3. Feb 2006, 11:09
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
  Mit Zitat antworten Zitat
Benutzerbild von Grishnak
Grishnak

Registriert seit: 15. Sep 2005
Ort: Neu-Ulm
111 Beiträge
 
RAD-Studio 2009 Arc
 
#5

Re: vorwärts deklaration

  Alt 3. Feb 2006, 11:14
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!
Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
  Mit Zitat antworten Zitat
alexkoe

Registriert seit: 3. Feb 2006
Ort: Monstab
19 Beiträge
 
#6

Re: vorwärts deklaration

  Alt 3. Feb 2006, 11:24
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
  Mit Zitat antworten Zitat
jmd anders

Registriert seit: 13. Mai 2004
84 Beiträge
 
#7

Re: vorwärts deklaration

  Alt 3. Feb 2006, 11:53
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:
initialization

LadeDatenausDB();

end.
dieser teil wird beim laden dieser unit ausgeführt.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: vorwärts deklaration

  Alt 3. Feb 2006, 12:31
Zitat von jmd anders:
des weiteren kannst du aber auch einen initialization nutzen.
Delphi-Quellcode:
initialization

LadeDatenausDB();

end.
dieser teil wird beim laden dieser unit ausgeführt.
Wie willst du im initialization-Abschnitt auf die Form zugreifen?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
3. Feb 2006, 12:38
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.
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 03:27 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