Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
2. Nov 2013
Na dann bin ich ja froh dass ich jetzt weiss woher die fiesen Firemonkey-Speicherlecks kommen. Ich hab aber immer noch nicht verstanden wie ich Source wie z.b. in dem ersten Beitrag dieses Threads Mukltiplattformsicher bekomme - und das möglichst ohne Compiler-Defines wie NEXTGEN, AUTOREFCOUNT usw. abzufragen.
Konkretes Ziel war:
Erzeugen einer Komponente zur Laufzeit
Entfernen der...
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
2. Nov 2013
Da werde ich wohl mal einige Versuche mit refcount machen. Ansonsten gilt wohl als Best Practice: Sämtliche Free durch DisposeOf ersetzen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
1. Nov 2013
Durch das Zuweisen von Parent UND dem Setzen von Owner im Constructor wird also vermutlich der Referenzähler zweimal erhöht?
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
1. Nov 2013
Mir geht es um die Plattform-Unabhängigkeit. Die ist also erst dann gegeben, wenn ich Libaries, die jahrelang immer funktionierten, mit defines komplett überarbeiten muß? Weil u.U. das Free gar nix mehr tut...
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
1. Nov 2013
Ja, die gehört jemand. In dem Beispiel ein Imagecontrol. Nein, das muß ich nicht. Es verhält sich plattformabhängig! Bei einer Windows-Firemonkey-Anwendung verschwindet die Komponente durch das Free. Bei iOS z.b. nicht. Ich habe bei beiden das gleiche Framework, nämlich Firemonkey. "Nur" der Compiler ist unterschiedlich. Ich will eben so was vermeiden:
{$IFDEF NEXTGEN}
{$IFDEF ANDROID}...
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
1. Nov 2013
Hinweis: Es handelt sich um XE5, läßt sich hier aber nicht auswählen.
Ich habe eine zur Laufzeit erzeugte Firemonkey-Komponente. Die will ich von Zeit zu Zeit neu erzeugen. Bisher war ich es ja gewohnt, das mit Free oder FreeAndNil zu machen. Leider verschwindet die Komponente aber nicht. Erst mit DisposeOf.
Das ist natürlich gefährlich, da man ja jahrelang so gearbeitet hat. Manchmal...