Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#65

AW: Warteschlange realisieren

  Alt 14. Mai 2012, 17:11
Weißt Du eigentlich, was Du da tust bzw. liest Du, was wir schreiben? Wieviele Instanzen von MySchlange willst Du denn anlegen, die Du nie wieder freigeben kannst? Außerdem schau Dir mein Edit in #54 noch einmal an.

[edit] Wenn wir die Reihenfolge der Typdeklarationen etwas ändern, kann die Schlange auch ein Feld des Formulars werden:
Delphi-Quellcode:
type
  Tperson = record
    Name:string;
    id:integer;
  end;

  Tschlange = class
  private
    next,max:integer;
    schlange : array [1..10] of tperson;
  public
    function einfuegen(x:tperson):boolean;
    constructor create;
  end;

  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    (* FSchlange gehört jetzt dem Formular und ist auch nur von dem zu erreichen *)
    FSchlange: TSchlange;
  public
    { Public declarations }
  end;

//...

procedure TForm1.FormCreate(Sender: TObject);
begin
  (* Instanz anlegen *)
  FSchlange := TSchlange.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  (* Instanz freigeben*)
  FSchlange.Free;
end;
Wie schon erwähnt, bis auf die Formularvariable können alle globalen Variablen entfallen. Nur als Denkanstoß. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (14. Mai 2012 um 17:19 Uhr)
  Mit Zitat antworten Zitat