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 Funktionen direkt einbinden (https://www.delphipraxis.net/45933-funktionen-direkt-einbinden.html)

Rastaman 14. Mai 2005 21:26


Funktionen direkt einbinden
 
Hallo. Ich habe da mal n Problem :shock:

Wie binde ich direkt Funktionen in ein Projekt ein?
Z.b möchte ich nicht irgendeine unit einbinden sondern direkt eine WinApi funktion ansprechen so wie Visual Basic das macht.
( " Private Function CreateWindowEx lib "kernel32.dll" " ) etc. Ich möchte die Funktionen halt nicht über die Units nutzen.

Vielen Dank schon mal.

Dax 14. Mai 2005 21:37

Re: Funktionen direkt einbinden
 
Um direkt API-Funktionen zu nutzen gibts Units wie Windows, ShellAPI.. such mal in Source/Rtl/Windows. da sollten dir glaube ich sein.

Rastaman 14. Mai 2005 21:47

Re: Funktionen direkt einbinden
 
Sorry aber ich werd aus deinem Post überhaupt nicht schlau...

DGL-luke 14. Mai 2005 22:11

Re: Funktionen direkt einbinden
 
das steht doch alles in der hilfe. einfach bei filter winapi windows platform sdk auswählen.

Christian Seehase 14. Mai 2005 22:18

Re: Funktionen direkt einbinden
 
Moin Gerrit,

ich weiss jetzt nicht, welche chm-Datei das gewesen sein könnte, aber die gewünschte Dokumentation findest Du u.a. hier:

Windows Platform SDK

Man muss übrigens nicht unbedingt alles herunterladen (ca. 350MB), sondern kann das auch auswählen.

In der D2005 PE habe ich auch mal eben nachgesehen:
Bei mir ist, zumindest wohl ein Teil, der Doku die Du suchst enthalten (wie üblich).
CreateWindowEx konnte ich darin, z.B., finden.

Das sollte bei Dir also auch da sein (oder es liegt daran, dass ich vorher mal die D2005 Architekt Trial installiert hatte ;-))

Zu Deiner zweiten Frage:
Mache bitte einen neuen Thread auf.
Hier gilt die Regel: Eine Frage pro Thread.

Danke.

Rastaman 14. Mai 2005 22:34

Re: Funktionen direkt einbinden
 
Ok die 2te Frage ist viel wichtiger.
Also lasst die erste frage weg und nehmt die 2te.
Ich lösch mal die Erste

Pr0g 14. Mai 2005 22:49

Re: Funktionen direkt einbinden
 
Schau dir doch mal den Code in der "Windows.pas" an, hier nen Beispiel (habs nicht getestet, müsste aber gehen:
Delphi-Quellcode:
...

function CreateWindowEx(dwExStyle: DWORD; lpClassName: PChar;
  lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND; stdcall;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function CreateWindowEx; external 'user32.dll' name 'CreateWindowExA';

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateWindowEx(...);
end;

end.
Nur obs bei der so was bringt glaube ich nicht, da sie eh in der Windows.pas steckt, welche du einbinden musst.

Aber warum das ganze?

MfG Pr0g

Kernel32.DLL 14. Mai 2005 22:51

Re: Funktionen direkt einbinden
 
Zitat:

Zitat von Pr0g
Schau dir doch mal den Code in der "Windows.pas" an, hier nen Beispiel (habs nicht getestet, müsste aber gehen:
Delphi-Quellcode:
...

function CreateWindowEx(dwExStyle: DWORD; lpClassName: PChar;
  lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND; stdcall;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function CreateWindowEx; external 'user32.dll' name 'CreateWindowExA';

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateWindowEx(...);
end;

end.
Nur obs bei der so was bringt glaube ich nicht, da sie eh in der Windows.pas steckt, welche du einbinden musst.

Aber warum das ganze?

MfG Pr0g

Vllt. glaubt er so die Größe der Echse reduzieren zu können....

Rastaman 14. Mai 2005 23:12

Re: Funktionen direkt einbinden
 
Wieso " vielleicht denkt er " ??

Kernel32.DLL 15. Mai 2005 15:15

Re: Funktionen direkt einbinden
 
Zitat:

Zitat von Gerrit89
Wieso " vielleicht denkt er " ??

Weil ich leider deine Gedanken nicht lesen kann und das daher auch nur vermuten kann.

=> Wenn du die Windows.pas aus deinem Projekt rausschmeißt, wird es dadurch imho nicht kleiner.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz