Thema: Delphi Pointer Problem

Einzelnen Beitrag anzeigen

WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#16

Re: Pointer Problem

  Alt 30. Sep 2009, 16:33
@himitsu: Wenn es hilft, das ganze sieht so aus:
Delphi-Quellcode:
  TMacro = class;

  TMacroCommand = record
    CmdType: TMacroCommandType;
    Parameters: TArrayofstring;
    AtTime: Boolean;
    Time: TTime;
    Macro: TMacro;
  end;
  PMacroCommand = ^TMacroCommand;

  TMacro = class
  public
    Name: string;
    Loop: Boolean;
    Commands: TList<TMacroCommand>;

    constructor Create;
    destructor Destroy; override;
  end;
@jfheins, meinst du sowas (statt Data := @Cmd; in der Schleife):
Delphi-Quellcode:
        New(p);
        p^.CmdType := Cmd.CmdType;
        p^.Parameters := Cmd.Parameters;
        p^.Macro := Cmd.Macro;
        Data := p;
Das funktioniert, allerdings geht p^.Macro.Commands.Remove(p^) dann nicht, weil p <> Cmd.

@Neutral General (1):
Sowas ähnliches dachte ich mir. Aber direkt das Element in der Liste adressieren geht ja auch nicht..

@Neutral General (2):
Oh gott. Aber eig eine gute Idee, werde ich mal probieren.


Edit:
Leute, ihr seid klasse!
Mit TList<PMacroCommand> läuft nun alles wie es soll
  Mit Zitat antworten Zitat