[C++/win32] resources gebruiken

Pagina: 1
Acties:

  • writser
  • Registratie: Mei 2000
  • Laatst online: 27-08 22:34
Nou ben ik vandaag een beetje aan het kloten geweest met visual c++ 6.
De bedoeling was om gewoon mijn eigen resources, maakt niet uit wat,
in een exe-bestand te proppen, en die resources dan te gebruiken in datzelfde
programma. Na veel gekloot is het gelukt, met de volgende code:
code:
1
2
3
4
HMODULE ownModuleHandle = GetModuleHandle(NULL);
HRSRC textResource = FindResource(ownModuleHandle, MAKEINTRESOURCE(IDR_ZOOI1), "ZOOI");
HGLOBAL voidPointer = LoadResource(ownModuleHandle, textResource);
long length = SizeofResource(ownModuleHandle, textResource);

Ik heb dus nu een void pointer naar mijn resource (volgens mij :?),
maar hoe kan ik hier nou iets nuttigs mee doen?
Ik heb in mijn voorbeeld een plain textdocument toegevoegd,
en die wil ik nu inlezen in een char-array.
Maar hoe doe je dat nou? ik heb zelf deze oplossing bedacht:
code:
1
char * text = reinterpret_cast<char *> (voidPointer);

maar ik vertrouw dit stukje code voor geen meter :P
Nu weet je toch ook helemaal niet hoe lang die array is?
Ik ben nog niet zo vertrouwd met casten enzo, dus ik heb
geen idee of dit zo mag en of het goed gaat..
Is er een iemand die me hier mee kan helpen?

Onvoorstelbaar!


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 29-08 03:21

.oisyn

Moderator Devschuur®

Demotivational Speaker

dat is idd de goede manier
maar de lengte heb je toch? Dmv SizeofResource ()

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.


  • writser
  • Registratie: Mei 2000
  • Laatst online: 27-08 22:34
Ja maar bijvoorbeeld char en float hebben toch verschillende lengtes?
Als ik in het bovenstaande stukje char * text zou vervangen door float * getal
dan zou de lengte van die array toch kleiner moeten zijn? Of zijn de lengte
van die char-array en ook de float-array gewoon gelijk aan Length?
Ik hoop dat je snapt wat ik bedoel; erg lastig om goed uit te leggen ;)

Onvoorstelbaar!


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 29-08 03:21

.oisyn

Moderator Devschuur®

Demotivational Speaker

de grootte die je terugkrijgt is natuurlijk in bytes

dus eigenlijk is de arraygrootte length / sizeof (T), waarbij T het type is van je array
Als je een float array hebt is het dus length / sizeof (float)

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.


  • writser
  • Registratie: Mei 2000
  • Laatst online: 27-08 22:34
okee!! bedankt!

Onvoorstelbaar!