Avatar billede rrm Nybegynder
12. juni 2007 - 13:56 Der er 2 kommentarer og
1 løsning

C interface (dll) til skiftende klasser

Jeg er ved at lave dll, hvor jeg via en callback metode skal forskellige datastrukture tilbage alt efter hvor langt programmet er nået.

Pt har jeg lavet det med strukture hvor der samme parametere for alle tilstande. Nu vil jeg gerne lave det sådan at der sendes en bestem struktur tilbage når programmet er nået til at f.eks. download noget.

Internt i dll, kan jeg bruge klasser til dette, men hvordan er det bedst at lave interfacet til dll'en??? Via af structs og følgende:

struct test {
}

struct test2 {
}

callback func(void *p) {
if(download)
  ( (test*) (p) )->en værdi derfra
else
  ( (test2*) (p) )->en værdi derfra
}

Eller er der en helt anden måde at gøre det på???
Avatar billede bertelbrander Novice
12. juni 2007 - 19:50 #1
Hvis det er rent C er der ikke ret meget andet at gøre.

I C++ kunne du overveje "Visitor Pattern", se f.eks:
http://en.wikipedia.org/wiki/Visitor_pattern
Avatar billede rrm Nybegynder
18. januar 2008 - 23:26 #2
hmm, tror bare jeg holder mig til

callback func(void *p) {
if(download)
  ( (test*) (p) )->en værdi derfra
else
  ( (test2*) (p) )->en værdi derfra
}

men ellers tak forslaget
Avatar billede rrm Nybegynder
19. januar 2008 - 10:32 #3
lukker da bertelbrander ikke smaler på point
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester