Vielleicht kannst du es dir auch einfacher machen: Wenn die Länge des Arrays fix ist, kannst du ein Pärchen aus Zeiger auf's erste Arrayelement und Arraylänge übergeben.
Naja die Länge wird im Delphi File individual gehalten, die kann sich ändern.
Dann wird das Array der Class übergeben und in C++ bleibt es dann fix.
Bei mir stimmt was noch nicht, es ist immer 5 Elemente lang.
Es wird die SetTTInput Forschleife nicht durchgeführt. Stimmt da was mit dem & nicht?
Code:
void __fastcall TCppClass::SetTTInput(const DynamicArray<int>& Value) {
for (int i=Value.Low; i<=Value.High; i++)
{
m_DVector[i] = Value[i];
std::wstringstream strMessage;
strMessage << L"Hello from a C++ class. Set now DVector: DVector[" << std::to_wstring(i)
<< L"] is " << std::to_wstring(m_DVector[i])
<< std::endl
<< L"InputVector contains " << std::to_wstring(m_DVector.Length) << L" elements";
MessageBox(0, strMessage.str().c_str(), L"Delphi/C++ interaction", 0);
}
}
Interessanterweise klappt in C++ der Call:
Code:
TCppClass::SetTTInput({1, 2, 3});
Also hier der PAscal call als bild, wo die richtingen Werte drin stehen und der Debug in C++ wo ein NULL Array da ist.
Was ist da falsch?
DANKE HERZLICHST.