24. november 2003 - 10:57Der er
36 kommentarer og 1 løsning
object type i c++
Jeg koder en wrapper i c++. Kan man returnerer en værdi uden at definere type i c++? Aka object i java og c#. Mao jeg ønsker at kunne returnere en vilkårlig datatype, og så typebestemme der hvor jeg modtager det.
Jeg synes også jeg kan huske at boost har en variant klasse til den slags. Jeg er ikke sikker, men prøv at kigge på www.boost.org (der er også mange andre spændende ting)
helt specifikt handler det om at returnere char til .NET Dette er ikke nemt :) c++ char er 8-bit ansi og char i .NET er 16 bit. Men har fundet noget om c++ / .NET string conversion. Så nu skal jeg bare have konverteret min c++ char til en native c++ string. OG så lige have c++ .NET converison til at virke :)
arne_v : Lyder meget interessant. Der er dog tale om char array og evt wchar_t arrays. MEn hvis du evt ku eksemplificere det ville det være en kæmpe hjælp. Jeg giver gerne flere point for eksempel har dog fundet ud af at bruge string i c++. Kan den ik bruges ?
DVS sige at det for at returnerer et array af chars kræves et globalt array på 16 bit (wchar_t[]). Dette kan så returneres til .NET.... og returtypen i .NET vil da være char?
Skal måske nævnes her at DBL-typerne er typer der er typedef i en h-fil. DBL_U8 er en unsigned 8bit char. -stdcall bruges da koden skal kompileres til en win32 DLL
Har du fået converteret fra char til wchar_t, så kan du experimentere med at returnere en pointer til arrayet. Virker det ikke kan du prøve en typedef.
er jo i princippet bare at returnere et array - resulterer i fejl har osse leget med at returnere pointer. Både som char og wchar_t til henh byte[] og char[] i c#
tror det er managed c++ kode. Jeg arbejder i native c++. men har fundet ud af at returnering af pointers fra dll's kan modtages af typen IntPtr i c#. DEnne skal så bearbejdes i unsafe kontekst. Men har dog ikke noget fungerende kode endnu. får det sikkert heller ikke *G*
ved brug af linket jeg fandt lykkedes det mig at klare problemerne. Så spørgsmålet lukkes. Men takker for interessen og den hjælp der er blevet givet.
Synes godt om
Ny brugerNybegynder
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.