Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Objekt "kopieren" (https://www.delphipraxis.net/112359-objekt-kopieren.html)

seim 19. Apr 2008 16:28


Objekt "kopieren"
 
Hi,

ich suche nach einer Möglichkeit ein Objekt zur Laufzeit zu kopieren. Im Editor ist das nicht schwer ich klicke auf ein Button STRG+C, STRG+V und schon hab ich den 2mal. Allerdings brauche ich sowas jetzt zur Laufzeit und auch bei einem etwas komplexeren Objekt als "nur" einem Button. Um genau zu sein ist das ein IdHTTP mit verflixt vielen Eigenschaften, die ich nicht einfach per for Schleife dem nächsten IdHTTP zuweisen kann/will.

Hat jmd einen Vorschlag?

Bernhard Geyer 19. Apr 2008 16:35

Re: Objekt "kopieren"
 
Die Assign-methode ist dafür zuständig:

Delphi-Quellcode:
var
  CopyObjekt: TMyObjekt;
begin
  CopyObjekt := TMyObjekt.Create(...);
  CopyObjekt.Assign(UrspruenglichesObjekt);
end;
Vorrausetzung ist natürlich das die Assign-Methode implementiert ist und nicht nur die Methode der Basisklasse verwendet wird und damit ein unvollständige Kopie erzeugt.

seim 19. Apr 2008 16:52

Re: Objekt "kopieren"
 
Dann kommt ein Fehler:

"TIdHTTP kann nicht zu TIdHTTP zugewiesen werden."

Bernhard Geyer 19. Apr 2008 17:46

Re: Objekt "kopieren"
 
Zitat:

Zitat von seim
Dann kommt ein Fehler:

"TIdHTTP kann nicht zu TIdHTTP zugewiesen werden."

Dann wird es dafür nicht vorgesehen sein das zu machen. Wirst also dir eine eigene Funktion stricken dürfen. Vermutlich gibt es ein paar Eigenschaften (IP-Port etc.) die gegen eine 1:1 Kopie sprechen.

ottili86 5. Jun 2008 07:55

Re: Objekt "kopieren"
 
Ich habe das selbe Problem wie seim. Ich will ein Exemplar von einer geerbten Klasse von TTabSheet auf ein anderes Exemplar der selbe Klasse assignen. In den Code Hilfen ist das assignTo sogar aufgelistet. Zur Laufzeit jedoch gibt er die gleiche Fehlermeldung aus wie bei seim, obwohl die Methode für diese Klasse vorgesehen ist.

sirius 5. Jun 2008 07:59

Re: Objekt "kopieren"
 
Vorgesehen sind die Methoden seit TPersistent, aber sind sie auch implementiert? Das ist häufig nicht der Fall.

spaxxn 5. Jun 2008 09:10

Re: Objekt "kopieren"
 
Hattest du mal die SuFu beehrt?

Schau z.B. mal hier:

hier

Vielleicht bringt dich das ja schon ein Stück weiter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz