[DLL] Static variabelen in een DLL

Pagina: 1
Acties:

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 22-05 17:18
Yrew denkt na, en begint toch weer wat te twijfelen.

Ik ben op dit moment een constructie aan het bedenken waarbij een dll de link gaat leggen tussen een VB6 programma en een C# programma. Het mooie van dll's is dat ze maar 1 keer in het geheugen geladen worden, maar dat elk programma dat gebruik maakt van die dll, zijn eigen workspace in het geheugen krijgt toegewezen.

Dit is mooi, maar voor mij een probleem omdat ik wil dat de DLL zowel naar C# kan callen als naar VB6. Als oplossing hiervoor had ik bedacht dat ik de pointers naar de CallBack functies van beide programma's als Static op wil nemen in de DLL.

Kan ik dit zomaar doen?

Groetjes


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ja dat kan gewoon, normale data wordt niet geshared tussen verschillende processen; ieder proces heeft gewoon zijn eigen stukje datageheugen. Tenzij je de sections expliciet declareert als zijnde shared (met MSVC++ kun je dat specificeren, geen idee of dat met C# of VB6 ook kan, hoewel je nog niet hebt gezegd waarin je de DLL gaat programmeren)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 22-05 17:18
Ik wil hem in c# programeren. Ik heb namelijk soieso twee threads nodig in de DLL. VB6 is nieuw voor mij, evenals C#, om dat ook nog een derde taal te pakken voor de DLL lijkt me een beetje te hard van stapel lopen :p

Dus ja het kan....Maar is het ook geoorloofd of ben ik op deze manier erg ranzig bezig. Ik kom uit java-land en ik ben daar zoveel mogelijk variabelen uit de weg gegaan.

Het kan zelfs zo zijn dat ik helemaal niet met deze constructie aan de gang moet gaan. TwijfeldeTwijfeldeTwijfel :-)

Groetjes


  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 22-05 17:18
Uhm hellup :/

Ik vraag me nog steeds af of de bovenstaande manier "netjes" danwel "dirty" is. Als iemand ook nog kan zeggen hoe ik in c# in een dll delegates als zijnde shared definieer dan ben ik helemaal gelukkig.

En ja, ik zoek me rot. Ik zoek drie uur, code een kwartiertje en dan begint het zoeken weer. Zonder dik boek(is onderweg) en andere directe hulp is het wat moeilijk opstarten soms.

Groetjes