Avatar billede stois Nybegynder
10. december 2007 - 17:57 Der er 1 kommentar og
1 løsning

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 =)
Avatar billede segmose Nybegynder
11. december 2007 - 09:15 #1
homeputer_GetObjIdx(IndexTilHvorDuVilHenteVærdierFra, PointerTilCharArrayHvorReturVærdiPlaceres, EnAndenPointerTilCharArrayHvorAndenReturVærdiPlaceres)

returnerer 1 hvis der er gyldige værdier i arrays'ne.
Avatar billede stois Nybegynder
11. december 2007 - 12:43 #2
Yes mange tak segmose

Nu mangler jeg bare at finde ud af hvordan jeg laver en pointer =)
Spørger i C# kategorien =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester