C++ oversættelse
Jeg har et projekt, hvor jeg skal snakke sammen med en DLL, selv projektet er i C#, men jeg er virkeligt dårligt til C++ åbenbart. Så jeg skal bruge lidt overtsættelse.Selve koden jeg skal have oversat:
void __fastcall TDemohomeputerDLLF::GetObjIdxBtnClick(TObject *Sender)
{
char ObjNameA[255], ObjValueA[255];
char *ObjName=ObjNameA, *ObjValue=ObjValueA;
homeputer_GetObjIdx(atoi(ObjIdxEdt->Text.c_str()),ObjName,ObjValue);
ObjNameEdt->Text=ObjName;
ObjValLb->Caption=ObjValue;
}
Beskrivelsen af selve funktionen på tysk:
homeputer_GetObjIdx(Index, Objektname, Objektwert)
Mit dieser Funktion können Objektname und Objektwert für den angegebenen Index ermittelt werden.
Der Index ist vom Typ integer, Objektname und Objektwert sind Pointer auf nullterminierte Strings.
Aufrufparameter : Index, Objektname, Objektwert
Rückgabewert: 1 Aufruf war erfolgreich, gültigen Werte in Objektname, Objektwert
0 Aufruf war nicht erfolgreich, keine gültigen Werte in Objektname, Objektwert
Aufrufbeispiel in Delphi und C
homeputer_GetObjIdx(Idx, ObjName, ObjValue)
Et eksempel på hvordan jeg tilgår DLL'en i C#:
[DllImport("homeputer.dll", EntryPoint = "homeputer_GetObjIdx",
CharSet = CharSet.Unicode, ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern string[] homeputer_GetObjIdx(int Index, string ObjectName, string ObjectValue);
....
Jeg skal selvfølgelig ikke bruge et C# eksempel, forkerte kategori, men det vil være fedt hvis jeg kunne forstå hvordan jeg skal kalde den funktion, så jeg kan komme igang med at bruge den =)