AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ActionList mit Actions unterschiedlicher Klassen kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

ActionList mit Actions unterschiedlicher Klassen kopieren

Ein Thema von shadowman · begonnen am 5. Aug 2011 · letzter Beitrag vom 5. Aug 2011
Antwort Antwort
shadowman

Registriert seit: 1. Nov 2005
48 Beiträge
 
#1

AW: ActionList mit Actions unterschiedlicher Klassen kopieren

  Alt 5. Aug 2011, 13:56
Hallo und vielen Dank!

Das funktioniert natürlich, aber das ist ja auch gleichzeitig mein Problem: auf diese Weise sind alle neuen Actions vom Typ "TAction" und nicht von demselben Typen wie die Quell-Action.

"NeueAktion" ist ja bereits jeweils vom richtigen Typ: TrvActionNew, TrvActionOpen etc. nach Aufruf von
Code:
NeueAktion := SourceActionList.Actions[i].ClassType.Create;
Du machst anschließend noch einmal
Code:
NeueAktion := TAction.create(nil);
wenn es nötig ist (wo ich mir allerdings nicht sicher bin), dann würde mir die entsprechende Klasse fehlen "TrvKlasseXYZ.Create(nil)", die ich statt TAction.Create(nil) nutzen müsste.
  Mit Zitat antworten Zitat
Sliver18

Registriert seit: 4. Aug 2011
Ort: Hamburg
19 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: ActionList mit Actions unterschiedlicher Klassen kopieren

  Alt 5. Aug 2011, 14:57
Hallo und vielen Dank!
Das funktioniert natürlich, aber das ist ja auch gleichzeitig mein Problem: auf diese Weise sind alle neuen Actions vom Typ "TAction" und nicht von demselben Typen wie die Quell-Action.
Das kann ich nachvollziehen.

Du machst anschließend noch einmal
Code:
NeueAktion := TAction.create(nil);
wenn es nötig ist (wo ich mir allerdings nicht sicher bin), dann würde mir die entsprechende Klasse fehlen "TrvKlasseXYZ.Create(nil)", die ich statt TAction.Create(nil) nutzen müsste.
Oh nein, natürlich ist es nicht nötig - das ist beim Testen wohl stehengeblieben - gemeint war nur die Zeile
Code:
NeueAktion := TAction( AlteAktion.ClassType.Create );
Aber da war ich mir ja wie gesagt nicht sicher, ober Delphi dann den korrekten Konstruktor aufruft. Denn TAction-Klassen erwarten ja im Konstruktor die Angabe eines Owners (und an der stehengebliebenen Zeile siehst Du ja, dass der auch nil sein darf).
JP
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz