Har surfat runt ganska mycket på MSDN sidor. Det är sant att det finns otroligt mycket information i C++ format på MSDN, men det finns också väldigt mycket i Visual Basic, .NET (VB.NET, JScript.NET, C#), JScript osv. Det är inte konstigt att det mesta är i C++ då dett aär det största språket och det som alla Windows DLL i princip bygger på (då oxå Win32 API). Hej Andreas! En "Managed Wrapper" klass är en klass skriven i något .NET-språk (som Visual Basic.NET, C# eller något annat) och som också JIT'as (Just In Time-kompileras) och exekveras på ramverket .NET Framework av .NET's motor Common Language Runtime... För att göra det hela övertydligt, så lägger du ett .NET "skal" runt Win32 anrop. Så när du arpetar med din klass (wrapper) så är det som att arbeta med precis vilken .NET klass som helst (fast internt jobbar den mot Win32).MSDN mycket för C++
Tycker mig uppleva att det mesta relaterar till C++.
Som exempel om man vill har felkoderna till klartext så finns det en färdig header.
System Error Codes
The following table provides a list of system error codes. The values are defined in the WinError.h header file. They are returned by the GetLastError function when many functions fail. To retrieve the description text for the error in your application, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag.
Kanske är det C++ som man skall satsa på?
Eller så har jag surfat fel...Sv: MSDN mycket för C++
Men mycket portas till .NET, inte minst efterhand som nya releaser kommer ut. T.ex. kommer NET 2.0 innehålla en rad nya nyheter.
Det är aldrig fel att ha förståelse för C++ syntaxen (och språket) eftersom du kan, med hjälp av COM Interop, använda dig hela Win32 API från .NET Framework. Så det som inte finns i .NET (i dagens läge) är inte otrillgängligt om man vet hur du skall tolka C++ syntaxen för att göra ett anrop från .NET
Genom att kunna .NET kan du skriva så kallade Managed Wrappers runt funktionerna i Win32 som du vill anropa och använda dessa i alla .NET projekt du har.. Du kan till och med distribuera dessa till andra som kan ha glädje av dem.
Det finns en hel del på MSDN om COM Interop och P/Invoke som du kan läsa på om du är intresserad av att lära dig hur du anropar Win32 API från .NET. Ta tid en titt under .NET delen av msdn.microsoft.com/library
Hoppas detta hjälper dig..
<i>PS. Allt eftersom .NET blir en mer och mer mogen produkt, så kommer detta att integreras mer och mer med kommande windows versioner, och snart kommer det att vara helt integrerat. Det kommer inte att ske lver en natt, men det är dit som MS vill nå.. bland me Windows Longhorn så tar de sig en rejäl titt på Win32 och rensar bort en enorm mängd gamla Win32 API anrop, samt kompletterar med en del nya.. Men överlag skall antalet minskas drastiskt.</i>
---
<b>Andreas Håkansson
Student of Software Engineering</b>Sv: MSDN mycket för C++
Du hinner möjligen inte förklara lite vad Wrappers är och hur man använder det!
/Alexander
Genom att kunna .NET kan du skriva så kallade Managed Wrappers runt funktionerna i Win32 som du vill anropa och använda dessa i alla .NET projekt du har.. Du kan till och med distribuera dessa till andra som kan ha glädje av dem. Sv: MSDN mycket för C++
Denna klass inkapslas funktionalitet från någon klass som inte exekverar på ramverket, till exempel en klass som du skrivit i C++ tidigare. Inkapslingen sker genom att du skapar en metod i din Wrapper-klass som heter (oftast) exakt vad metoden heter i den tidigare skapade klassen, sedan använder du COM-interop för att anropa metoden i den tidigare skapade klassen.
Detta gör att du kan använda din tidigare skapade klass precis som om den vore skriven för .NET.
Det finns andra exempel på wrappers också, exempelvis så skapas en wrapper-klass för en Web Service när du lägger till en "Web Reference" i Visual Studio.NET, så du jobbar hela tiden mot en lokal klass som hanterar anropen till webbtjänsten.
Var det tydligt, eller har jag luddat till det ytterligare?
Mvh
Johan Lindfors
MicrosoftSv: MSDN mycket för C++
Det är så stora delar av .NET är byggt. T.ex är Socket klassen i System.Net.Sockets en "Managed Wrapper" runt Winsock2 dll filen, och klasserna för att arbeta med formulär (WinForms) är wrappers runt windows funktioner för fönster hantering etc.
<i>PS. Thomas har rätt ang. C och C++ .. miss av mig =) </i>
---
<b>Andreas Håkansson
Student of Software Engineering</b>