Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aufruf von einem Procedure in Project Source (https://www.delphipraxis.net/159328-aufruf-von-einem-procedure-project-source.html)

thomas2009 23. Mär 2011 12:36

Aufruf von einem Procedure in Project Source
 
Hi

obwohl die Funktion (Procedure) da ist, wird trotzdem als undefiniert bezeichnet !

Delphi-Quellcode:
program Project1;

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

{$R *.res}
begin
  if TForm2.Execute then
  begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm3, Form3);

  if Paramstr(1) = 'hidded' then HideForms // Fehler hier: Undefinierter Hideforms
  else
  Application.Run;

  end
  else
  begin
    Application.MessageBox('Passwort falsch', 'Noch einmal versuchen');
  end;


procedure HideForms;
begin
Application.ShowMainForm := False;{form1}
Form3.Hide;
//form2 existiert nicht mehr
  Application.Run;
end;


end.

himitsu 23. Mär 2011 12:38

AW: Aufruf von einem Procedure in Project Source
 
Sie ist ja auch noch nicht deklariert.

Wobei sie dort eh nicht hingehören würde, wo sie jetzt liegt (entferne mal den Aufruf und schau weiter).

DeddyH 23. Mär 2011 12:49

AW: Aufruf von einem Procedure in Project Source
 
Ist Execute eine Klassenmethode von TForm2? Wenn nicht, wird das an der Stelle auch fürchterlich knallen.

nuclearping 23. Mär 2011 12:53

AW: Aufruf von einem Procedure in Project Source
 
Delphi-Quellcode:
try
  Programmiere_Irgendwas_Ohne_Zu_Wissen_Was_Du_Machst;
except
  ShellExecute(0, 'open', 'http://www.delphipraxis.net', '', '', SW_SHOW);
end;

DeddyH 23. Mär 2011 12:54

AW: Aufruf von einem Procedure in Project Source
 
[OT] *Omg*, jetzt ist es soweit, er hat 666 Beiträge :twisted: [/OT]

thomas2009 23. Mär 2011 12:55

AW: Aufruf von einem Procedure in Project Source
 
Zitat:

Zitat von himitsu (Beitrag 1090447)
Sie ist ja auch noch nicht deklariert.

Und warum so funktioniert ohne Deklaration :

Delphi-Quellcode:
program Project1;

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

{$R *.res}
procedure HideForms;
begin
Application.ShowMainForm := False;
Form2.Hide;
Form3.Hide;
  Application.Run;
end;


begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);


  if Paramstr(1) = 'hidded' then HideForms
  else
  Application.Run;

end.
Ich möchte aber den Procedure Hideforms nur aufrufen (nicht vordem Überprüfen aufrufen),
wenn das Passwort gültig ist, darum habe ich den Code geändert

---
Ist Execute eine Klassenmethode von TForm2?
Ja. Form2 ist Login Fenster und wird gelöscht bevor das Programm startet

DeddyH 23. Mär 2011 12:56

AW: Aufruf von einem Procedure in Project Source
 
Das war' s, zumindest ich stelle ab sofort jegliche Hilfestellung ein, bevor Du Dich nicht mit den absoluten Grundlagen vertraut gemacht hast :wall:

nuclearping 23. Mär 2011 12:59

AW: Aufruf von einem Procedure in Project Source
 
Sag ich doch, es IST Taktaky.

thomas2009 24. Mär 2011 01:14

AW: Aufruf von einem Procedure in Project Source
 
Zitat:

Zitat von DeddyH (Beitrag 1090464)
:wall:

Ich musste den Procedure vorne setzen dann funktioniert :-D :
Delphi-Quellcode:
program Project1;

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

{$R *.res}
procedure HideForms;
begin
Application.ShowMainForm := False;{form1}
Form3.Hide;
//form2 existiert nicht mehr
  Application.Run;
end;


begin
  if TForm2.Execute then
  begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm3, Form3);

  if Paramstr(1) = 'hidded' then HideForms // Fehler hier: Undefinierter Hideforms
  else
  Application.Run;

  end
  else
  begin
    Application.MessageBox('Passwort falsch', 'Noch einmal versuchen');
  end;


end.

s.h.a.r.k 24. Mär 2011 01:22

AW: Aufruf von einem Procedure in Project Source
 
Denk mal ein wenig wie ein Compiler, dann kommst du von alleine drauf ;) Der macht es an sich zunächst auch nicht anders, wie ein Mensch, er liest von links oben nach rechts unten. Dabei schaut er eben ob gewisse Dinge schon definiert wurden, oder eben nicht. Bei dir war das eben nicht der Fall und somit kracht es eben.

Wie DeddyH aber schon angedeutet hat -- was absolut nicht böse gemeint ist -- solltest du dir mal die Grundlagen aneigenen. Vor allem auch mal andere Quelltexte lesen und vom Stil etwas abkupfern, denn das was du hier zeigst ist echt grauenvoll ;)

PS: Ich glaube du suchst auch den Begriff hidden, nicht hidded.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 Uhr.
Seite 1 von 2  1 2      

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