Avatar billede f2f4 Novice
07. juni 2006 - 15:34 Der er 4 kommentarer og
1 løsning

Exception fra dll (fejlbeskrivelse?)

Jeg kalder fra Delphi7 ned i en C++Builder4 dll.

Exceptions skal selvfølgelig undgås, men jeg prøver med vilje at dividere med 0 nede i C++ dll'en!!

I Delphi7 skriver jeg så noget ala:

try
  //DllKald der giver 'division by zero' exception
except
  on e: Exception do
    MessageDlg(e.Message, mtError, [mbOk], 0)
end;

Resultatet når jeg kører programmet er nu fejlbeskeden: 'The system can not find the file specifed.'

Jeg er 110% (!) sikker på er der er ovennævnte fejl, men hvorfor får jeg en anden besked? Skal man måske 'use' en eller anden fil med C++Builder4 fejlkoder/-strenge?

Tak for eventuel svar.

/Morten
Avatar billede nico26 Nybegynder
07. juni 2006 - 21:17 #1
er du sikker på at du importerer dll'en rigtigt?
Avatar billede f2f4 Novice
07. juni 2006 - 23:01 #2
ja, det vil jeg mene ... på den statiske måde:

:
interface
:
  procedure DllXxx ();      cdecl;
:
implementation
:
  procedure DllXxx; external 'NAVN.DLL' name '_BeregnXxx';
:
Avatar billede hrc Mester
12. juni 2006 - 15:01 #3
Først overvejede jeg om du skulle sende Aplication.Handle med over for at din exception vidste hvor den skulle hen, men det kan næppe være grunden da Exception er durekte efterkommer af TObject - er ikke i nærheden af et handle.

Så fandt jeg denne artikel som forsøger at give en forklaring på exceptions i dll:
http://info.borland.com/techpubs/delphi/delphi5/oplg/dllpackg.html

Der står også noget om exceptions som ikke er lavet i Pascal. Måske kan det hjælpe dig.
Avatar billede hrc Mester
12. juni 2006 - 15:02 #4
Hvorom alt er, så er en ganske god artikel om DLL'er i Delphi.
/hrc
Avatar billede f2f4 Novice
16. november 2006 - 09:46 #5
lukket
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