Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DLL Funktionsaufruf (https://www.delphipraxis.net/97864-dll-funktionsaufruf.html)

Robert Marquardt 17. Aug 2007 16:34

Re: DLL Funktionsaufruf
 
Versuch mal ohne packed zu deklarieren. Wenn das nicht hilft mach ein Dummy-Element (DWORD) hinten ins Record. MS Visual Studio arbeitet inzwischen gerne mit einem Record-Alignment von 8. Das Record muss also wahrscheinlich auf 24 statt 20 Bytes aufgeblasen werden.

@hoika, Tippfehler: es muss "procedure Foo2(PRec: PRec);" heissen.

sirius 17. Aug 2007 16:36

Re: DLL Funktionsaufruf
 
Wenn es sich um die DLL von Windows handelt, versuche mal folgendes Record:
Delphi-Quellcode:
  VERSIONINFO = packed record
    cbSize: DWORD;
    dwNULL1: DWORD;
    dwNULL2: DWORD;
    wMinorVersion: WORD;
    wMajorVersion: WORD;
    wBuildNumber: WORD;
    wPatchLevel: WORD;
  end;

Neutral General 17. Aug 2007 16:37

Re: DLL Funktionsaufruf
 
Zitat:

Zitat von Robert Marquardt
Versuch mal ohne packed zu deklarieren. Wenn das nicht hilft mach ein Dummy-Element (DWORD) hinten ins Record. MS Visual Studio arbeitet inzwischen gerne mit einem Record-Alignment von 8. Das Record muss also wahrscheinlich auf 24 statt 20 Bytes aufgeblasen werden.

+ dword - packed
+ dword + packed
- dword + packed
- dword - packed

klappt alles nicht. :(

@Sirius: In MSDN stehts anders, in meiner Doku stehts anders ... Aber deine Version klappt :wall: Was soll ich jetzt davon halten? -.-

sirius 17. Aug 2007 16:48

Re: DLL Funktionsaufruf
 
Liste der Anhänge anzeigen (Anzahl: 1)
Welche msdn hast du denn? Bei mir gibts da nur für die shell32 genau deine Spezic. Für die cabinet habe ich auf die schnelle keine einzige Info gefunden.
Ich habe nur probiert, siehe Anhang.
Übrigens: Das Funktionsergebnis kannste in den Skat drücken.

Neutral General 17. Aug 2007 16:52

Re: DLL Funktionsaufruf
 
Hi,

Also hatte in Google gesucht und bin dann auf der MSDN Seite gelandet.

Zitat:

Übrigens: Das Funktionsergebnis kannste in den Skat drücken.
in den Skat (?) drücken (?) ?

Die Muhkuh 17. Aug 2007 16:56

Re: DLL Funktionsaufruf
 
Ich denk mal, dass ist das gleiche, dass kannste Dir irgendwo anders hinschieben :mrgreen:

Neutral General 17. Aug 2007 16:57

Re: DLL Funktionsaufruf
 
Zitat:

Zitat von Die Muhkuh
Ich denk mal, dass ist das gleiche, dass kannste Dir irgendwo anders hinschieben :mrgreen:

:idea: :mrgreen:

Edit: "Skat drücken" kenn ich aber ich hab gedacht vielleicht ist das irgendwie für irgendwas ein Fachausdruck :oops: :wall:

sirius 17. Aug 2007 17:05

Re: DLL Funktionsaufruf
 
Kinners habt ihr nie Skat gespielt? In den Skat drückt man Karten, die man nicht braucht. :spin2:

Ähm, General, die url ist ... fehlerhaft.

Neutral General 17. Aug 2007 17:23

Re: DLL Funktionsaufruf
 
Mh bei mir geht die.. Alternativ: Bei Google suchenDLLVERSIONINFO. Erstes Ergebnis.

Klar hab ich Skat gespielt und ich spiels immernoch aber das Sprichwort kenn ich nicht also hab ichs irgendwie für nen Fachausdruck gehalten :gruebel: :mrgreen:

sirius 17. Aug 2007 18:14

Re: DLL Funktionsaufruf
 
Hmm, sehr schöne Aussage da:
Zitat:

Zitat von msdn
This function is not an API. It is exported by name from each DLL that implements it. Currently, most of the Windows Shell and common controls DLLs implement DllGetVersion.

Und andere DLLs implemtierwen diese Funktion anscheinend anders. Fragt sich nur wie lange...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.
Seite 2 von 2     12   

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