AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi instanz nach fehlerprüfung rückgängig machen
Thema durchsuchen
Ansicht
Themen-Optionen

instanz nach fehlerprüfung rückgängig machen

Ein Thema von kiar · begonnen am 24. Okt 2003 · letzter Beitrag vom 26. Okt 2003
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.124 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: instanz nach fehlerprüfung rückgängig machen

  Alt 26. Okt 2003, 13:49
Moin Raik,

da ich jetzt das nicht ganz verstanden habe (), versuche ich das noch einmal mit einem Beispiel zu zeigen, was ich in diesem Zusammenhang unter Wrapper verstehe:

Delphi-Quellcode:
type
  // Die Klasse von der es nur eine bestimmte Anzahl Instanzen geben darf
  TMyControl = class(TObject)
  // was so alles dazugehört
  end;

  // Die Verwaltungsklasse für TMyControl Objekte
  TMyControlWrapper = class(TObject)
  private
    FList : array of TMyControl;
    FiCount : integer;
  public
    // Bedingtes hinzufügen eines TMyControl Objektes
    function Add(...) : boolean;
    // Prüfen, ob erlaubt
    function IsNewControlAllowed(...) : boolean;
    property MyControl[<Irgendein Index>] : TMyControl ...
  end;

  TForm1 = class(TForm)
  //...
  private
    FControlWrapper : TMyControlWrapper;
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Einmaliges erzeugen des Wrappers
  FControlWrapper := TMyControlWrapper.Create;
end;
  
function TMyControlWrapper.Add(...);
begin
  Result := IsNewControlAllowed(...);
  if not Result then exit;
  // ... hinzufügen eines neuen TMyControl Objektes
end;
Man könnte bei Add auch den Index zurückgeben, dabei dann, z.B., -1 für einen Fehler.
Es wird also kein Create aufgerufen wenn nicht wirklich etwas hinzugefügt werden darf.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
 


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 09:18 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