Wenn der Anwender zu blöde ist, das Ding zu initialisieren, ist er selber schuld
Wenn ich das Bitmap als Rückgabeparameter nehme, gibts wieder Probleme mit Speicherlecks, weil der Anwender wiederum zu blöd ist, das Zeug freizugeben.
Also entweder - oder. Da es in Delphi leider keine saubere (= zuverlässige und elegante) Möglichkeit gibt, ein Objekt auf seine Existenz hin zu überprüfen bzw. ob hinter einem Pointer eine Instanz oder Speichermüll (der berüchtigte "wilde zeiger") steht (es lebe .Net/Java
), hab ich keine Chance, das ganze wasserdicht zu machen.
Also was wäre deine "immer funktionierende Funktion" bitte?