Avatar billede zerohero Nybegynder
22. april 2004 - 01:45 Der er 3 kommentarer og
1 løsning

DLL funktion Integer

Jeg prøver lidt med en DLL fil jeg har lavet i Delphi og få det til at virke!

I DLL filen er der en funktion der hedder Test! Denne funktion skal modtage en Integer og bare returnere den samme værdi tilbage! Meget simpelt! Men jeg får slet ikke samme resultat tilbage!

Det virker fint, hvis der ikke indegår nogen parametre, og funktionen bare skal spytte en tal ud! Jeg prøvede derfor at sige at funktionen skulle vise en Windows MessageBox() for at se om den overhovedet modtog den rigtige værdi, og det gør den ikke!

Uanset hviket tal jeg putter igennem funktionen returnere den 4151160! Hvilket minder mere om en Pointer addresse!

Nogen der ved hvad hvad der galt?
Avatar billede zerohero Nybegynder
22. april 2004 - 02:27 #1
Som sædvanligt var det et helt andet steds, det var rivende galt! :))
Nå, men hvis nogen kommer i samme problem, så skal Delphi funktionen altså eksporteres som en stdcall funktion for at det virker i C++!
Avatar billede soreno Praktikant
22. april 2004 - 06:22 #2
Du kan finde lidt om calling conventions her, hvis det skulle have interesse:
http://www.codeproject.com/cpp/calling_conventions_demystified.asp

Lidt kendskab til assembler og stack frame er nødvendig.
Avatar billede zerohero Nybegynder
22. april 2004 - 15:03 #3
Mange tak!
Ved du i øvrigt, hvorfor jeg sagtens kan bruge Integer, Char, Arrays og Pointers, men ligeså snart jeg laver en pointer til en Array går det galt! Det vil sige at hvis array kun er på 1 så er det ok! Men er den længere ens 1 så går det galt! :))
Avatar billede soreno Praktikant
22. april 2004 - 18:21 #4
Jeg kender ikke ret meget til Delphi. Men muligvis problemet er at du ikke skriver kode til laveste fællesnævner.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester