Giddion Skrevet 26. juli 2006 Del Skrevet 26. juli 2006 (endret) Problemet er i et par klasser som jeg har hentet fram, den finner UPnP Control Points. (aka alle ting som støtter Upnp) Modulet finner UPnP enheter helt fint og lagrer de i en std::vector, men når jeg skal hente de opp igjen virker det som om minne er korrupt og jeg får feil. Denne koden er kun win32, men jeg velger å legge den her siden jeg tror feilen ligger i C++ koden. litt om klassene: NUPnP er klassene som styrer alt og setter i gang søket via COM objektet IID_IUPnPDeviceFinder CUPnPDeviceFinderCallback er en callback klasse (doh) som funksjonene blir kjørt etter hvert som søkene før resultater DeviceAdded er funksjonen som blir kjørt når man finner en CP. Problemet: NUPnP::FindInternettGateway klikker når den kaller på funksjoner fra tidligere lagrede CP Hvordan skal jeg debugge dette?? UNICODE #include "NUPnP.h" NUPnP test; test.FindDevices(TEXT("UPnP:rootdevice")); test.FindInternettGateway(); ASCII #include "NUPnP.h" NUPnP test; test.FindDevices("UPnP:rootdevice"); test.FindInternettGateway(); Takker på forhånd for all hjelp jeg kan få edit: opps glemte å legge ved koden YNet.zip Endret 13. august 2006 av Giddion Lenke til kommentar
Giddion Skrevet 27. juli 2006 Forfatter Del Skrevet 27. juli 2006 Hva tenker du på? Lenke til kommentar
john.einar Skrevet 12. august 2006 Del Skrevet 12. august 2006 Gammel thread, men problemet ditt er vel at du tar aldri å AddRef'er til dine IUPnPDevice så de blir sletta utenfor din DeviceAdded func. Du må AddRef'e når du tar å lagrer en pointer til et COM objekt for senere, så ikke COM biblioteket sletter objektet når alle andre har frigjort sine referanser. Du må da også huske å Release når du tømmer din std::vector (i dtor). Lenke til kommentar
Giddion Skrevet 13. august 2006 Forfatter Del Skrevet 13. august 2006 Først vil jeg takke for at du tok det tid til å kikke på posten. Og takk mange mange ganger det funker som smurt nå. Jeg hadde helt gitt opp denne posten for en stund siden. Jeg trodde at UPnPDeviceFinder eller/og UPnPDeviceFinderCallback hadde ansvarer for unloadingen av IUPnPDevice, så hvis jeg ventet med å release de så ville alt fungere, men tydlig vis har jeg mye å lære om COM. Og takk igjen mange mange ganger. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå