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.
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
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.