Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C# / VS 2005] - Reguliere DLL bouwen ?

Pagina: 1
Acties:

  • Wilde
  • Registratie: December 2000
  • Niet online
Kort vraagje,

Kan iemand mij uitleggen hoe ik een reguliere DLL (dus geen assembly) kan maken in Visual studio 2005 met C# ? Ik zoek dus een dll waarin ondere andere zo ongeveer het volgende voorkomt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Function DllMain(hInst As Long, fdwReason As Long, _
    lpvReserved As Long) As Boolean
   Select Case fdwReason
      Case DLL_PROCESS_DETACH
         ' No per-process cleanup needed
      Case DLL_PROCESS_ATTACH
         DllMain = True
      Case DLL_THREAD_ATTACH
         ' No per-thread initialization needed
      Case DLL_THREAD_DETACH
         ' No per-thread cleanup needed
   End Select
End Function


De standaard "dll functies" dus. Maar dan in C# ! Ik zoek hier op internet al een poosje naar, maar kan niet bar veel vinden.. Ik hoop dat het uberhaubt mogelijk is.. ?

Specs: 9800X3D, RTX 5090, 64GB, VR: Pimax Crystal-Light


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Wat bedoel je met een standaard dll? Je kan met C# 2 verschillende type dll's maken, dll's die alleen via .NET aan te roepen zijn of dll's die ook via com-interop aan te roepen zijn.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Nu online
Zowiezo is de code die je toont, geen C# code.
Bedoel je met een 'reguliere DLL' een Win32 dll ? Met C# en VB.NET kan je enkel .NET assemblies maken (en dit kunnen dus ook DLL's zijn).
Als je native DLL wilt , dan zal je denk ik naar C++ moeten grijpen als je bij VS.NET 2005 wilt blijven.

https://fgheysels.github.io/


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Je haalt nu een aantal dingen door elkaar. Je hebt inderdaad native en managed dll's. Voor het gebruik onder windows maakt dat niets uit. Windows zorgt automatisch dat de managed dll via de CLR werkt.

Native dll's kun je alleen schrijven met C++. Wel kun je een COM object schrijven (heeft ook gewoon extentie .dll) Daarvoor moet je aan elke class welke je wilt registeren (Zodat je die bijvoorbeeld in classic ASP/vb script kunt aanroepen via CreateObject("volledig.namespace.path.naar.mijn.class") en gebruiken) markeren met de ComVisible en Guid attributen.

Voor meer informatie zie ook: http://msdn2.microsoft.co...rary/zsfww439(VS.71).aspx

If it isn't broken, fix it until it is..