Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ShellExecute NonVCL Version (https://www.delphipraxis.net/11223-shellexecute-nonvcl-version.html)

sharkx 2. Nov 2003 12:57


ShellExecute NonVCL Version
 
Hallo,

Zur zeit schreibe ich gerade an einer dll die mir unter anderem auch eine bestimmte exe starten soll. Natührlich müsste ich die dll so klein wie möglich halten, daher meine Frage.

1.) kann ich die ShellExecute Function auch NonVCL nutzen, wenn die restlichen Functionen auf VCL geschrieben wurden?
2.) Was sollte ich am besten darüber lesen bzw. was muss ich beachten?



vielen dank :>

Luckie 2. Nov 2003 13:00

Re: ShellExecute NonVCL Version
 
Shellexecute ist eine WinAPI Funktion und hat nichts mit der VCL zu tun. Deklariert ist sie in ShellAPI.pas

sharkx 2. Nov 2003 13:01

Re: ShellExecute NonVCL Version
 
ja aber wenn ich die ShellApi.pas einbinde, wird die dll direkt um ein vielfaches grösser. Und genau das möchte ich verhindern

Christian Seehase 2. Nov 2003 13:08

Re: ShellExecute NonVCL Version
 
Moin Sharkx,

dann musst Du Dir die Funktion selber importieren.
Wie man so etwas macht findest Du hier oft beschrieben. Such mal nach Hier im Forum suchenexternal oder Hier im Forum suchenLoadLibrary.

Luckie 2. Nov 2003 13:08

Re: ShellExecute NonVCL Version
 
Dann lad die DLL dynamisch und importier die Funktion zur Laufzeit. Wie das geht, findest du hier: http://www.luckie-online.de/files/demos/

sharkx 2. Nov 2003 13:13

Re: ShellExecute NonVCL Version
 
Vielen Dank für die zahlreichen Antworten :-)

Da es eine mIRC dll ist, wird sie auch dynamisch geladen. Werde mir mal die beiden Antworten von Lucky und Christian Seehase genauer anschaun und dann für die best mögliche Funktion entscheiden.

Luckie 2. Nov 2003 13:18

Re: ShellExecute NonVCL Version
 
LOL. Was dir Christian vorgeschlagen hat, mache ich in meinem Demo.

Christian Seehase 2. Nov 2003 13:21

Re: ShellExecute NonVCL Version
 
Moin Sharkx,

ob Du eine Funktion dynamisch oder statisch importierst hat nichts damit zu tun, dass Du sie in einer DLL verwenden willst.

sharkx 2. Nov 2003 13:32

Re: ShellExecute NonVCL Version
 
@Luckie: Woher soll ich wissen was du in deiner Demo machst, wenn ich sie mir nicht angeschaut habe? Bzw. woher soll ich den Unterschied zwischen deiner Demo und Christians Vorschlag wissen, wenn ich beides weder gesehen noch gelesen hab? ;PPP


@Christian: Ob ich nun die dll dynamisch oder Statisch lade, änder ja nix an meinen Functionen. Darüber bin ich mir bewusst. Nur wusste ich nicht wie ich eine Function zur Laufzeit importiere ;)

Christian Seehase 2. Nov 2003 13:35

Re: ShellExecute NonVCL Version
 
Moin Sharkx,

nur Funktionen aus DLLs können dynamisch oder statisch importiert werden, nicht die DLLs.

[EDIT]
@Chewie: Hab's korrigiert ;-)
[/EDIT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 Uhr.
Seite 1 von 2  1 2      

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