Hallo alle zusammen,
ich hab mal wieder ein Problem. Ich muss einen Teil eines alten VB6 Programms nach C++ übersetzen und soll die Funktionalität in eine DLL packen. Soweit so gut. Eigentlich ist das alles simple Mathematik, die ich da übersetzen muss und die ersten paar Funktionen klappten auch ganz gut, bis ich auf eine Funktion stieß die Funktionen aus einem anderen Modul aufruft. Das ist ja eigentlich auch nichts außergewöhnliches und ich hab mir dann gedacht dann packe ich die halt auch noch in meine DLL und übersetze die. Ist ja kein Problem. Als ich mir die Funktionen des anderen Moduls angeschaut hab stellte sich herraus das es aber doch ein Problem ist. Der Code dieser Funktionen sieht ungefair so aus:
Code:
8720 If Abs(qy) >= Abs(q6) Then qg = 3: Q0 = q1: q1 = q2: q2 = qx: q4 = q5: q5 = q6: q6 = qy: GoTo 8860
8730 q1 = q2: q5 = q6: q2 = qx: q6 = qy: GoTo 8760
8740 If q5 * qy < 0 Then q2 = q1: q6 = q5
8750 q1 = qx: q5 = qy: If Abs(qy) < Abs(q6) Then q1 = q2: q5 = q6: q2 = qx: q6 = qy
8760 qd = q5 - q6: If qd Then qd = (q5 + q6) / qd: If qg Then If Abs(qd) > 0.9 Then qd = 0.9 * Sgn(qd)
8770 If qg = 0 Then If Abs(qd) < qf * qf Then qd = qf * qf * (Sgn(qd) Or 1)
8780 GoTo 8880
8790 If q6 * qy < 0 Then qg = 1: GoTo 8750
Ich hab jetzt hier einfach mal nen kleinen Auszug kopiert damit ihr wisst wovon ich spreche. Ich dachte mir jetzt ich mache es mir einfach und mache einfach aus dem VB6 Code da eine DLL die ich dann in meiner C++ DLL aufrufen können müsste. Gesagt getan. (ich hab mich dabei an das Tut hier gehalten: [
Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] ) So aber meine VB6 DLL funktioniert weder in meinem C++ Code noch in einer VB.net Testumgebung. Ich hab jetzt schon ewig an der DLL rumgedocktert und hab eigentlich keine Lust mehr da weiter zu machen. Hat jemand von euch eine Idee wie ich denn Code in meine C++ DLL bekommen und da verwenden kann? Am liebesten ohne mich ewig mit den Kram da oben auseinander zu setzen. Ist das so überhaupt möglich über eine DLL? Ich hab sowas noch nie gemacht.
Danke schon mal für eure Hilfe.