Toon posts:

[c++] DLL laad probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goede avond/nacht mede tweakers, ik zit met een probleem. Ik heb de volgende c++ code geschreven in microsoft visual c++ 6.
C++:
1
2
3
4
5
    HINSTANCE hDLLSerial = LoadLibrary("port.dll");
    HINSTANCE hDLLParallell = LoadLibrary("io.dll");

    ASSERT (hDLLSerial);
    ASSERT (hDLLParallell);


Heel simpel, heel basic en toch krijg ik hem niet aan de praat. Met het compilen krijg ik de volgende melding van hDLLSerial :

code:
1
LDR: LdrpWalkImportDescriptor() failed to probe D:\Mijn documenten\Visual C++\I2C2\Debug\port.dll for its manifest, ntstatus 0xc0000005


Maar van hDLLParallell heb ik geen last, en doet het prima. Beide files staan in de debug map. hDLLSerial staat niet als alleen lezen of verborgen.

Ik heb getracht te achterhalen wat dit bericht nou betekend, maar ben eigenlijk nergens wijzer geworden, weet iemand wat dit betekent en hoe ik het op kan lossen ?

alvast bedankt.

ps:
Ik ben een beginnende programmeur, so take it easy, take a sisi :P

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

[google="failed to probe" dll visual c++] geeft bij de tweede hit deze pagina die precies lijkt te gaan over wat jij ondervindt:
I've changed the 'Embed manifest' property to 'No' on my DLL projects and
the problem gone away.
Edit: ik zie trouwens dat je nieuw bent. Welkom op GoT. :)

[ Voor 10% gewijzigd door NMe op 16-05-2005 01:36 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Dankje voor het warme onthaal.

Deze pagina had ik ook al gezien, maar ik kan die optie nergens vinden. Weet jij dat mischien.

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Mijn eerste reactie zou zijn: weet je zeker dat de DLL wel correct is, niet dat er een paar (of alle...) bytes in de DLL niet kloppen? Als je de mogelijkheid hebt, probeer de betreffende DLL ergens van het internet te plukken en kijk of het daarmee wel werkt.

Imo zou zo'n basale functie als LoadLibrary niet fout mogen gaan.

Mochten TS of medetweakers nog geinteresseerd zijn in de foutmelding: wat er precies gebeurt in LdrpWalkImportDescriptor staat hier uitgelegd:
http://msdn.microsoft.com...02/03/Loader/default.aspx

Verwijderd

Topicstarter
zo gezegt zo gedaan, en wat denk je hij doet het.....

Andere DLL helemaal hetzelfde en die doet het wel, daar ben ik dan een week mee bezig geweest 8)7

Bedankt voor de snelle reacties.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op maandag 16 mei 2005 @ 01:46:
Deze pagina had ik ook al gezien, maar ik kan die optie nergens vinden. Weet jij dat mischien.
Zou je in een eventueel volgend topic dergelijke info meteen kunnen vermelden in je topicstart? Het werkt een stuk prettiger hier als we kunnen zien wat je al gevonden en geprobeerd hebt, dan worden je verder ook geen dingen verteld die je al weet of die niet werken. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Zullen we doen O-)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Ik vermoed dat je probleem niets maar dan ook niets met je code te maken heeft. LoadLibrary is een run-time functie. Die laadt tijdens het runnen - en dus niet tijdens het compileren - de DLL. Als LoadLibrary problemen heeft met het manifest, dan zal je debug versie ASSERTen, en je release versie (bij de klant dus) een Access Violation genereren.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1