| |
VB.NET - FortgeschritteneFehler bei C-DLL-Aufruf aus VB.NET | | | Autor: mquadrat | Datum: 13.10.11 14:57 |
| Hi,
wie das Thema schon sagt bekomme ich beim Aufruf einer Funktion aus einer DLL eine Exception ausgeworfen, "Eine externe Komponente hat eine Ausnahme ausgelöst". Das aufrufende Programm in VB.NET, sowie die C-DLL sind eigens entwickelte Codes, die in der gleichen Projektmappe vorliegen.
Das seltsame ist, der Fehler kommt nur bei ein paar (hauptsächlich älteren, WinXP) Rechnern; installiere ich das VB.NET-Programm auf einem anderen Rechner (natürlich inkl. der C-DLL), funktioniert alles einwandfrei.
Ich habe darauf geachtet dass auf allen Rechnern die VisualC++-DIstributables installiert sind. Zudem habe ich getestet, in den Kompilierungsoptionen des C-DLL-Projekts die erweiterten Anwendungssets (SSE, SSE2) abzuschalten - ohne Erfolg. SO wie ich das sehe kann der "Fehler" unter den geg. Umständen ja nur in den Kompilierungsoptionen des C-DLL-Projekts liegen, bin aber grade etwas überfragt an welcher Einstellung man noch drehen sollte in der Situation.
Vielen Dank im Voraus für eure Vorschläge!
mquadrat | |
Re: Fehler bei C-DLL-Aufruf aus VB.NET | | | Autor: Manfred X | Datum: 13.10.11 15:15 |
| Hallo!
Denkbar wäre z.B.
- Problem mit 32-Bit-Betriebssystemen (z.B. Zeigerlänge)
- WinXP ist nicht auf dem aktuellen Stand (z.B. fehlendes Update,
deshalb API nicht verfügbar oder fehlerhaft)
- Windows-Einstellungen (z.B. Zugriffsrechte)
- C-DLL verwendet intern irgendwelche Drittanbieter-Komponenten, die
nicht auf allen Rechnern installiert sind
- u.v.a.
MfG
Manfred | |
Re: Fehler bei C-DLL-Aufruf aus VB.NET | | | Autor: mquadrat | Datum: 13.10.11 15:20 |
| Der Fehler kommt bei einigen 32bit-Systemen, bei anderen nicht.
Auf allen getesteten Rechnern wurden alle verfügbaren Windows- und Software-Updates installiert.
Was die Rechte angeht so sind die Installationen stehts durch den Admin durchgeführt wurden, soll heißen Zugriffsrechte waren alle vorhanden.
Die DLL verwendet keine weiteren externen Komponenten. | |
Re: Fehler bei C-DLL-Aufruf aus VB.NET | | | Autor: Manfred X | Datum: 13.10.11 15:29 |
| Hallo!
C-Code kann heikel sein, z.B. wenn er für bestimmte
Prozessoren optimiert übersetzt worden ist. Es kann evt. sogar
am Befehlssatz oder an der Ausführungsgeschwindigkeit des
Prozessors liegen.
MfG
Manfred | |
Re: Fehler bei C-DLL-Aufruf aus VB.NET | | | Autor: mquadrat | Datum: 13.10.11 16:16 |
| Mh sowas hatte ich halt auch gedacht, aber ich dachte mit der Abscheltung der SSE-Befehle sollte das Problem umschifft sein? | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|