Announcement

Collapse
No announcement yet.

Rückgabe varianter Records

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rückgabe varianter Records

    Ich habe eine EXE (Delphi 5 compiliert). Die EXE ist von mir, kann ich also debuggen.

    Beim Klick auf den Button im Hauptform dieser EXE wird die Funktion demo() aus einer DLL (MS C++) gerufen.

    Diese demo()-Funktion hat keine Übergabeparameter, sondern soll nur eine Berechnung durchführen und das Ergebnis anzeigen. Die Berechnung selbst wird in der DLL durch Aufruf einer aus der EXE exportierten Funktionen der Hostanwendung abgewickelt.

    Die Funktion demo() der DLL schickt den Vektor (x=1; y=2; z=3) und eine Einheitsmatrix in eine Funktion, die ja wiederum in der Hostanwendung deklariert und exportiert ist und die Berechnung des Vektors vornimmt.

    Als Ergebnis stellt die Hostanwendung den Vektor (x=1; y=2; z=3) der demo()-Funktion zur Verfügung. In der DLL kommt aber nur (x=0; y=0; z=0) an.

    Dieses Problem tritt nur bei MS-C++-DLLs auf. Bei Delphi-DLLs geht das problemlos. Ich war schon bis zum Maschinencode der EXE unten...

    Kann mir jemand helfen?

    Natürlich habe ich den Sourcecode auf wenige KByte abgerüstet. Schicke ich gern zu (oder kann ich den hier irgendwo ablegen??).

    Danke für Eure Bemühungen.

    <b>Rutscht gut rein, falls noch nicht geschehen...</b>

    Gruß Jens Hoyer
    [email protected]
Working...
X