![]() |
DLL "Windows" function implementieren
Hi,
ich möchte gerne in meiner DLL einige function aus der WIndows Unit(auch aus anderen) verwenden, aber sie nicht komplett einfügen um die größe möglichst gering zu halten. Bsp: OpenProcess In der DLL Unit:
Delphi-Quellcode:
resources.pas:
uses
SysUtils, Classes, resources in 'resources.pas'; [..] //Funktion mit OpenProcess ...
Delphi-Quellcode:
Jetzt meckert der Delphi bei "function Op...": Funktion benötigt Ergebnistyp.
unit resources;
interface const kernel32 = 'kernel32.dll'; implementation function OpenProcess; external kernel32 name 'OpenProcess'; end. Irgentwie Logisch, aber in der Windows Unit steht das ja genauso :/. Was muss ich machen? |
Re: DLL "Windows" function implementieren
Im Interface-Teil der Unit steht noch so einiges was du brauchst. Such einfach mal nach OpenProcess in der Unit Windows.
|
Re: DLL "Windows" function implementieren
Da steht ne ganze Menge!
|
Re: DLL "Windows" function implementieren
Zitat:
Zitat:
Delphi-Quellcode:
Gruß Assertor
function OpenProcess(dwDesiredAccess: DWORD; bInheritHandle: BOOL; dwProcessId: DWORD): THandle; stdcall;
{$EXTERNALSYM OpenProcess} |
Re: DLL "Windows" function implementieren
Danke.
Ich glaub ich komme trotzdem nicht um die Unit herum, da ich auch den Typ "DWord" brauche :? |
Re: DLL "Windows" function implementieren
Jaja... da führt eines zum anderen.
DWORD ist aber afaik nichts anderes als ein LongWord. Und LongWord müsste in der Unit System sein. |
Re: DLL "Windows" function implementieren
DWord ist als Cardinal deklariert, wenn ich mich nicht irre.
Ausserdem wird aus der Windows.pas immer nur das eingebunden was du auch wirlkich verwendest. Desahlb wird deine Exe dadurch nicht wirklich kleiner. Das sieht bei der Form.pas z.b. anders aus, da bringt es natürlich etwas. Es gibt auch "tiny" Versionen z.b. für die System.pas/ Sysxx etc. wo du ein paar KB einsparst. Aber warum muss die Echse so klein sein? auf den KB für die Windows.pas bzw 7KB für die TinySys kommts doch net an oder etwa doch? |
Re: DLL "Windows" function implementieren
Hi,
soweit ich weiss steht in der Windows.pas kein Code sondern nur Definitionen von Typen und Funktionen, also bekommt du eine Größenersparnis von genau 0 KB, wenn du diese rauslässt :) Grüsse, Stefan |
Re: DLL "Windows" function implementieren
Zitat:
[edit]Upps, sorry, hab gar nicht gesehen, dass es hier um die Windows.pas geht :oops: [/edit] |
Re: DLL "Windows" function implementieren
Hi,
wird reden doch von der Windows.pas und nicht von der System.pas :) und Definitionen brauchen in der Regel keinen Platz (außer es werden diese Funktionen verwendet) Grüsse, Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 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