Autor Beitrag
volvox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 112

WIN XP
Delphi 7 Personal
BeitragVerfasst: Fr 01.01.10 20:22 
Ich versteh grad nicht wo der Syntaxfehler in diesen paar kleinen Zeilen ist. Vieleicht sieht ja jemand mehr als ich. Delphi meldet Undeclared Identifier :'handle'. Ich hab keine Ahnung wieso, da ich es an anderen Stellen im Quelltext genauso habe und es keine Probleme gibt.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure MehrStart;
begin
  case frmHaupt.libMehr.ItemIndex of
    0: ShellExecute(Handle, nil'MeinProgramm.exe'nilnil, SW_SHOW);
    1: ShellExecute(Handle, nil'AnderesProgramm.exe'nilnil, SW_SHOW);
    end;
end;

ShellAPI ist in den uses

(PS: Ja das gehört so mit dem Case. Steht eigentlich noch mehr darunter, habs aber rausgenommen weils nichts zur Sache tut.)

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
MaPsTaR
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 90
Erhaltene Danke: 4

Win XP
Delphi 7 Enterprise
BeitragVerfasst: Fr 01.01.10 20:43 
Auf jeden Fall liegt es an den NIL-Pointern.
Schau dir mal das an www.delphi-forum.de/...Parameter_96733.html

Oder frag mal das WIN-SDK nach ShellExecute.msdn.microsoft.com/e...bb762153(VS.85).aspx

_________________
Liebe Kinder, es stimmt ... solnage auch nur der ertse und lezte Bchutsabe rihctig ist und alle andreen Bcuhsatben irgendwie vorahnden sind,
dann knan man es dennonch lesen, also macht nur weiter so, wir verstehen euch schon
volvox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 112

WIN XP
Delphi 7 Personal
BeitragVerfasst: Fr 01.01.10 20:59 
Danke erstmal, auch wenn ich kaum was versteh da ich seit zwei Jahren das erste mal wieder mit Delphi arbeite...

Ich glaub aber es ist was viel simpleres. Wenn ich den Inhalt der Prozedur in nen Button kopiere klappts nämlich. Nur aus dieser eigenen Prozedur eben nicht.
MaPsTaR
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 90
Erhaltene Danke: 4

Win XP
Delphi 7 Enterprise
BeitragVerfasst: Fr 01.01.10 21:01 
Dann versuch mal als ersten Parameter Application.Handle

_________________
Liebe Kinder, es stimmt ... solnage auch nur der ertse und lezte Bchutsabe rihctig ist und alle andreen Bcuhsatben irgendwie vorahnden sind,
dann knan man es dennonch lesen, also macht nur weiter so, wir verstehen euch schon
volvox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 112

WIN XP
Delphi 7 Personal
BeitragVerfasst: Fr 01.01.10 21:14 
Passt. Vielen Dank!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.01.10 21:56 
Der Grund für die Fehlermeldung ist, dass deine Routine keine Methode des Formulars war. Und deshalb hast du natürlich auch kein Handle, da innerhalb des Formulars du dessen Handle benutzt. ;-)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
type
  TFormX = class
  private
  public
    procedure TestAlpha;
  end;

procedure TFormX.TestAlpha;
begin
  Handle // --> Handle vom Formular
end;

procedure TestBeta;
begin
  Handle // --> gibts nicht, da die Prozedur separat von einem Formular ist
end;