Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
15. Feb 2005
Achso, danke, genau DAS wollte ich wissen.
Thx nochmal !
Liebe Grüße,
Thomas
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
15. Feb 2005
Hmm....klappt nicht:
var Model:^TD3DXmodel;
Model^:=TD3DXModel.Create(D3DEngine.D3d9Device);
Model^.Tuwas;
//Zugriffsverletzung !
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
15. Feb 2005
So, ich hab jetzt alle Arrays auf TList-Klassen umgestellt und verwalte die ganzen Pointer ab sofort in den TList-Klassen.
Durch den selben Trick den ich auch schon bei den Arrays angewendet habe, ich deklariere bei der Übergabe eines Parameters an eine Funktion einen Zeiger auf eine Basisklasse übergebe dann aber einen Zeiger auf eine von der Basisklasse abgeleitete Klasse, brauche ich mich gar...
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
11. Feb 2005
Hi Fabian,
sicherlich ist es auch in meinem Fall besser TObjectlist oder änhliches zu verwenden, ich würds ja auch gerne verwenden, nur die Typcasterei geht mir auf die Nerven.
Gibt nicht eine Möglichkeit mit der man sowas wie den folgenden Block vereinfachen könnte ??
if Class is TBaseClass then
(Class as TBaseClass).Tuwas
else if Class is TDerivedClass then
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
10. Feb 2005
Hi Sprint,
da hast du sicherlich recht, aber dann müssen die ganze Zeit wieder die Typecasts herhalten wenn ich mehrere Klassen in einer Liste habe :-(
Mit freundlichen Grüßen,
Thomas Tschofenig
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
10. Feb 2005
Hi @ all,
um nochmal auf das obige Beispiel zurück zu kommen, ohne das Array habe ich es durchaus geschafft eine abgewandelte Klasse anstatt einer Basisklasse einer Funktion als Parameter zu übergeben obwohl in der Deklaration der Funktion die Basisklasse verlangt war und zwar so:
type
PMyClass=^TBasicClass;
procedure Foo(Class:PMyClass)
begin
.....
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
10. Feb 2005
Hi dizzy,
fast ;-)
type
TBaseClass = class(TObject); //In BaseClass.pas deklariert
.
.
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
10. Feb 2005
Hi Fabian,
danke für die rasche Antwort.
Aber: Wird so nicht das Array bei der Übergabe (in den Stack) kopiert ?
Mit freundlichen Grüßen,
Thomas Tschofenig
Forum: Object-Pascal / Delphi-Language
Delphi
by Thomas233,
10. Feb 2005
Guten Abend,
ich würde gerne ein dynamisches Array als Parameter übergeben.
Was mir Schwierigkeiten bereitet ist die Tatsache das ich nicht will das die Funktion der das Array übergeben wird mit einer Kopie des übergebenen Arrays arbeitet (also das Array nochmals am Stack anlegt wird und dann deren Inhalte ins neue Array kopiert werden) da dies bei größeren Arrays ein zu großer zeitlicher...