Autor Beitrag
DelphiFreund
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 120

Win XP
D7 Enterprise
BeitragVerfasst: So 01.08.04 16:30 
Hi Leute,
Wie kann man eine Funktion oder Prozedure vor dem Form1.OnCreate Ereigenis ausführen?

Gruß DelphiFreund
DelphiFreund Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 120

Win XP
D7 Enterprise
BeitragVerfasst: So 01.08.04 17:21 
Man erstellt am besten eine Unit, in meinem Fall heußt sie Unit2.
Dann sieht der Quelltext so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas';

{$R *.res}


begin
   Application.Initialize;
   Application.CreateForm(TForm1, Form1);
   Application.Run;
end.


Dann fügt man einfach die Funktion ein:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas';

{$R *.res}


begin
  Funktionsonstwas(Parameter);
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Die Funktion muss natürlich in Unit2 stehen. So sollte man auch bei Semaphoren vorgehen.

Gruß DelphiFreund
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: So 01.08.04 21:47 
Extra eine Unit2 nur für diese Funktion? Brauchst du nicht, denn:
1) kannst du diese Funktion auch direkt in die DPR-Datei schreiben
2) kannst du sie auch einfach in die Unit1 packen
3) kann man in jede Unit einen initialization-Abschnitt packen die ganz am Anfang des Programms ausgeführt werden...

Zu 1:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

procedure Funktionsonstwas(Parameter: xxx);
begin
  // ...
end;

begin
  Funktionsonstwas(Parameter);
   Application.Initialize;
   Application.CreateForm(TForm1, Form1);
   Application.Run;
end.


Zu 3:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
unit Unit1;

interface

{...}

implementation

procedure Funktionsonstwas(Parameter: xxx);
begin
  // ...
end;

{...}

initialization
  Funktionsonstwas(Parameter);
end;

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!