polymorphism napisał(a):A co tam mogło nie wyjść?
Nie działa, czyli wyskakują błędy, gdy zamiast:
KOD cpp: UKRYJ
Gdiplus::Image *imagePNG;
dam:
KOD cpp: UKRYJ
std::auto_ptr<Gdiplus::Image> imagePNG;
polymorphism napisał(a):Mała uwaga. Metody statyczne wywołuj w ten sposób:
KOD cpp: UKRYJ
imagePNG = Gdiplus::Image::FromFile( L"c:\\image2.png", false );
Nie ma błędu, ale grafika nie jest wczytywana do imagePNG, więc ten sposób nie działa.
polymorphism napisał(a):Zresztą Twój kod dopuszcza możliwość wielokrotnego tworzenia obiektów (vide AdvGlowButton1Click), zatem niezwalnianie obiektów imagePNG jest błędem, który powoduje wycieki pamięci/zasobów.
Chodzi Tobie o to, że każde wywołanie:
KOD cpp: UKRYJ
imagePNG = imagePNG->FromFile( L"c:\\image2.png", false );
Tworzy nową instancję obiektu?
polymorphism napisał(a):Image::FromFile tworzy instancję operatorem new, więc dobrze by było ją zwolnić.
Tylko, że ja nie używam Image::FromFile, bo to nic by nie dało, po prostu o czym wspomniałem wyżej to nie powoduje wczytania grafiki do obiektu.