Einzelnen Beitrag anzeigen
Ungelesen 22.09.10, 08:18   #3
Miedon
Anfänger
 
Benutzerbild von Miedon
 
Registriert seit: Sep 2010
Ort: NRW
Beiträge: 13
Bedankt: 3
Miedon ist noch neu hier! | 0 Respekt Punkte
Standard

Ja da hast du schon recht, normalerweise ist der Aufruf einer selbsterstellten DLL kein Problem und das die Sprache innerhalb einer DLL konsistent sein sollte ist mir klar, sonst würde bestimmt auch der Compiler mäckern. Ich habe auch nicht vor Code zu mischen.

Bei mir ist das so, ich habe zwei alte VB6 Dateien und ich muss die Funktionalität der Dateien in einem VB.Net Programm benutzen können. Außerdem kommt es ein wenig auf die Geschwindigkeit an.

In der ersten Datei werden eigentlich die Dinge berechnet die ich in meinem Programm brauche und diese benutzt Funktionen aus der zweiten Datei um die Nullstellen einer beliebigen Mathematischen-Funktion zu berechnen (das ist der Kram mit dem goto). Die erste Datei habe ich jetzt eigentlich in eine C++ DLL übersetzt und wenn ich die in einem VB.net Programm aufrufe dann funktioniert das auch ohne Probleme. Manche der Funktionen rufen aber Funktionen aus Datei 2, also die Sachen mit dem goto.
Da ich mir jetzt nicht die Mühe machen will und den ganzen QuickBasic Kram nach C++ übersetzen (ich glaube das ist QuickBasic bin mir aber nicht sicher) wollte ich aus Datei 2 auch eine DLL machen und zwar in VB6. Diese DLL möchte ich dann jetzt in meiner ersten DLL aufrufen.

Eigentlich sollte ja dann auch die Sprache keine Rolle mehr spielen und ob ich ein goto benutze müsste dann auch egal sein wenn es erst mal eine DLL ist, nur diese DLL die ich aus dem VB6 Code erstellt hab nach oben genannter Anleitung die funktioniert weder in VB6 oder VB.net noch in C++.
Z.B. bekomme ich mir der LoadLibary Funktion in C++ immer nur NULL zurück aber das gibt es doch nicht viel was man falsch machen kann. Ich geb den Pfad zu der DLL an und speichere den Rückgabewert als Handle, das war es dann ja eigentlich schon. Ich hab das Gefühl das das erstellen der DLL in VB6 schon schief gegangen ist aber da bekomme ich weder eine Fehlermeldung noch sonst irgendwas.

Auf jeden fall schon mal danke für deine Mühe.
Miedon ist offline   Mit Zitat antworten