Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Initialisieren von HWND (https://www.delphipraxis.net/98081-initialisieren-von-hwnd.html)

Andreas H. 21. Aug 2007 07:11


Initialisieren von HWND
 
Hallo,

nur ne kurze Frage:

Initialisiert ihr das Handle auch so?

Delphi-Quellcode:
procedure TCommon.OpenDocPath(DataSet: TDataSet);
Var
  FileName:string;
  FHandle:HWND;
begin
  FHandle:=0; // zur Vermeidung von Compiler-Warnungen <<=== wie macht ihr das?
  FileName:=DataSet.FieldByName('Path').AsString;
  ShellExecute(FHandle,NIL,PChar(FileName),nil,nil,SW_SHOWNORMAL);
end;
Oder wie vermeidet ihr die Compiler-Warnung?

Gruß Andreas

chaosben 21. Aug 2007 07:32

Re: Initialisieren von HWND
 
Zitat:

Zitat von Andreas H.
Initialisiert ihr das Handle auch so?

Nein. :)

Entweder gebe ich die 0 direkt ein oder gebe mein eigenes Handle([Form|Application].Handle) an, was, btw. auch "besser" ist.

Zitat:

Zitat von Die Delphi-Hilfe ©Borland
hwnd
[in] Handle to a parent window. This window receives any message boxes that an application produces, such as error reporting.


s-off 21. Aug 2007 07:32

Re: Initialisieren von HWND
 
Moin,

warum nicht
Delphi-Quellcode:
ShellExecute(0,NIL,PChar(FileName),nil,nil,SW_SHOWNORMAL);
?

Andreas H. 21. Aug 2007 07:50

Re: Initialisieren von HWND
 
Hallo,

na, da zeugt meine Frage ja von fundiertem Halbwissen! :oops: Und wer lesen (und suchen) kann, ist echt im Vorteil.

Mir scheint die Variante von s-off für meine Anwendung sinnvoll, da meine Anwendung sich nicht für die Rückmeldungen interessiert.

Vielen Dank.

Gruß Andreas

Luckie 21. Aug 2007 08:51

Re: Initialisieren von HWND
 
Das hat nichts mit der Rückgabe zu tun, die bekommst du auch mit null als Handle.

RavenIV 21. Aug 2007 09:28

Re: Initialisieren von HWND
 
Zitat:

Zitat von Andreas H.
Delphi-Quellcode:
procedure TCommon.OpenDocPath(DataSet: TDataSet);
Var
  FileName:string;
  FHandle:HWND;
begin
  FHandle:=0; // zur Vermeidung von Compiler-Warnungen <<=== wie macht ihr das?
  FileName:=DataSet.FieldByName('Path').AsString;
  ShellExecute(FHandle,NIL,PChar(FileName),nil,nil,SW_SHOWNORMAL);
end;

Wenn Du eh eine "0" mitgibst, dann kannst Du Dir die Variable FHandle auch schenken.
Vor allem, weil sie mit diesem namen im falschen Kontext steht.
Fxyz steht für Klassenvariablen, diese werden im private-Teil deklariert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 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