HILFE, ich habe hier eine ärgerliche meldung.
[out of system resources ]
Ich habe in meinem EMu das problem,daß ich die farben einer DIB ändern muß und zwar via palette.
Nach etwa 100000 wechseln kommt eben die meldung.
Kann es sein, daß die objekte immer weiter in den speicher wandern ?
Oder kennt jemand eine lösung die palette ändern, ohne das objekt zu löschen und dann neu zu erzeugen ?
nun habe ich folgensed codiert
Delphi-Quellcode:
//SelectPalette(DIBDC,DIBhpalette,false);
if DIBhpalette <> 0 then DeleteObject(DIBhpalette);
initpal(pal_entrys);
CreatePalette(PLogPalette(@aNewHPalette)^);
SelectPalette(DIBDC,DIBhpalette,false);
bzw urspünglich
Delphi-Quellcode:
pal_changed = 1
then
begin
pal_changed:=0;
DestroyDIBSurf;
initpal(pal_entrys); // hier wird kein objekt erzeugt
CreateDIBSurf(aNewHPalette,DIBWidth,DIBHeight);
end;
end;