Hi,
wie der Name schon sagt würde ich gerne eine ein paar Rechnungen in eine C++ DLL auslagern.
Mit den Grundrechenarten bin ich soweit gut zurechtgekommen (+ - * /) .
Nun wollte ich Vektoren (x und y) hinzufügen. Mein Problem dabei besteht in der Ausgabe .
Ich weiss leider nicht wie ich einen Punkt ausgeben kann.
Die Konsolenausgabe funktioniert, aber später soll ja ein Returnbefehl die Ausgabe der DLL an
das AutoItscript weiterleiten.
Hier erstmal eine Konsolenversion:
Spoiler anzeigen
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
class Punkt
{
public:
int x;
int y;
Punkt(int a, int b)
{
x = a;
y = b;
}
void Add(int a, int b)
{
x += a;
y += b;
}
};
Punkt A(2,1); // Beispielpunkt
A.Add(3,2); // Funktionsaufruf
int P[2];
P[0] = A.x;
P[1] = A.y;
cout << "Der Punkt heisst : P( " << P[0] << " ; " << P[1] << " )"; // Konsolenausgabe
cin.get();
return 0;
}
Alles anzeigen
Hier mein Fakultätsscript - DLL (das nur 1 Ergebnis ausgeben kann):
Spoiler anzeigen
der Aufruf in AutoIt war:
#include <array.au3>
[/autoit][autoit][/autoit][autoit]$a = DllCall("Bernoulli.dll","double:cdecl","Fak","double","4")
If (IsArray($a)) Then
_ArrayDisplay($a)
EndIf
Hat auch tadellos funktioniert, aber wenn ich 2 Ergebnisse haben will, dann weiss ich nicht wie ich die
mit C++ mit "Return" übergeben kann und wie ich dann (wenn ich es geschafft hätte) mit autoit weiterverwenden kann.
Ich hoffe ihr könnt mir helfen!
//Edit : Ich merke grade, heute falle ich mir schwer mich auszudrücken...
Ich will mit einem(!) Dll Aufruf einen Punkt berechnen!
Ich übergebe als Parameter den X und den Y Wert und möchte gerne
als Ergebnis (nach dem Aufruf) in AutoIt den veränderten Punkt (wieder X UND Y Wert)
bekommen.