16. august 2004 - 08:54Der er
1 kommentar og 1 løsning
marshalling af managed String* til LPCWStr til brug i directshow
Hej.
Jeg arbejder på en audioafspiller i stil med winamp, men har et problem med marshalling, som jeg ikke kender noget særligt til. Jeg bruger VisualStudio.NET fra 2003 og .NET framework 1.1
Problemet består i at en funktion i directShow fra DX9, skal bruge en pointer til en filsti af typen LPCWStr, men filstien er gemt i et stringarray., da der skal laves forskellige stringoperationer på det.
Mit håb er at der er en der kan hjælpe mig med at læse strengen ind i en LPCWStr variabel, da det vil spare mig for en masse besvær.
Mit problem var som sagt at jeg havde en managed System::String* som skulle konverteres til en unmanaged LPCWSTR.
Det gøres på følgende måde:
//skal inkluderes øverst #include "atlconv.h" using namespace System::Runtime::InteropServices;
//nedenstående skal stå i en funktion oder so USES_CONVERSION; //initialiserer A2W String __gc* MyString=S"managed string"; //en tilfældig managed stringvariabel.
//en hel del af disse punkter kan naturligvis udelades. men er vedlagt for overblikket
// og hermed lukker jeg selv spørgsmålet.
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.