Forum: Win32/Win64 API (native code)
by himitsu,
29. Aug 2022
Niemand hat behauptet, dass Delphi frei von Bugs sei. :stupid:
Delphi 7
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
Directory: PAnsiChar; ShowCmd: Integer): HINST; stdcall;
function ShellExecute; external shell32 name 'ShellExecuteA';
Lazarus/FreePascal
{ascfun.inc} function ShellExecute(_para1:HWND; _para2:pchar; _para3:pchar;_para4:pchar;...
Forum: Win32/Win64 API (native code)
by himitsu,
29. Aug 2022
Sie sind nur zufällig passend.
ShellExecuteW und PWideChar mit einem UnicodeString oder WideString
oder ShellExecute und PChar mit einem String.
Früher dachten auch viele ShellExecute mit PAnsiChar funktioniert ja, da PChar ein PAnsiChar war. :roll:
Forum: Win32/Win64 API (native code)
by himitsu,
29. Aug 2022
Ja, es mag gehen, es ist denoch falsch.
Du kannst einen kleinen Nagel auch mit einer Zange ins Holz hauen, also geht es sozusagen, aber dennoch ist es nicht richtig.
Und genau weil zuviele so denken knallt es gern mal, sobald sich mal ein bissl was ändert.
Ja, PChar entspricht aktuell PWideChar und das wird sich so schnell nicht nochmal ändern,
Forum: Win32/Win64 API (native code)
by himitsu,
29. Aug 2022
Self.RecreateWnd;
Im ersten Post war es bereits richig (nur zusätzlich noch mit einem Parameter)
Bei dir nicht. Grund siehe https://www.delphipraxis.net/211304-findfirstfileex-liefert-error-falscher-parameter.html#post1510883
PS: Wenn man die Anwendung inkl. der ursprünglichen Parameter neu starten will, dann siehe GetCommandLine. (einfacher als die vielen ParamStr's wieder neu...
Forum: Win32/Win64 API (native code)
by himitsu,
28. Aug 2022
Reicht es denn nicht die Form neu zu erstellen (wobei es bei der MainForm nicht so einfach ist, das deren Freigabe standardmäßig die Anwendung beendet)
oder zumindestens die Windows-Handles/Controls neu zu generieren?