Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#1

Ableitungsproblem (Welcher Vorfahr?) für neue Klasse

  Alt 8. Aug 2007, 08:25
Hallo,

ich bin gerade dabei eine Schnittstellenklasse für die Kommunikation mit einer Siemens Steuerung (S7) zu erstellen. Dazu gibt es eine Fremdhersteller-DLL, die die notwendigen Funktionalitäten bereits zur Verfügung stellt und die ich etwas komfortabler in eine Klasse kapseln möchte.

Ich brauche jetzt einen kleinen Denkanstoß, ob und von welchem Vorfahren ich meine Klasse ableiten soll.

Das wäre z.B. denkbar (ist noch nicht komplett):
Delphi-Quellcode:
  TComDrvS7 = class
  private
    FHandle: Integer;
    FIPAdresseStr: array [0..255] of char;
    FCPUSlotNr: Integer;
    FConnected: Boolean;
    FErrorCode: Word;
    function GetDLLErrorString(Error: Word):String;
    function GetErrorString:String;
  protected
    //
  public
    constructor Create;
    destructor Destroy;
    function Connect: Boolean;
    procedure Disconnect;
    property ErrorString: String read GetErrorString;
  end;
oder

Delphi-Quellcode:
  TComDrvS7 = class(TObject)
  private
    FHandle: Integer;
    FIPAdresseStr: array [0..255] of char;
    FCPUSlotNr: Integer;
    FConnected: Boolean;
    FErrorCode: Word;
    function GetDLLErrorString(Error: Word):String;
    function GetErrorString:String;
  protected
    //
  public
    constructor Create;
    destructor Destroy;
    function Connect: Boolean;
    procedure Disconnect;
    property ErrorString: String read GetErrorString;
  end;
Mir ist schon klar, dass ich im Üblichen einen Vorfahren aussuche, der von mir benötigte Funktionalitäten bereitsstellt und die ich nur noch ergänzen muss, aber bei den etwas grundlegenderen Klassen habe ich nicht mehr so viel Ahnung, welche Funktionalitäten überhaupt notwendig sind (wegen Speicherverwaltung oder so).

Grundsätzlich wird es so sein, dass in der Software, die meine Klasse verwenden soll, mehrere Instanzen von TComDrvS7 erstellt werden (für jede Steuerung eine).

Naja, ich hoffe ihr versteht was ich meine.
  Mit Zitat antworten Zitat