Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 12:05
Zitat von Tyrael Y.:
Es geht um reine Prozeduren und Funktionen, die du künstlich in Klassen integrierst?
Es handelt sich teilweise um kleine einfache Proceduren und Funktionen. Ich geb mal hier ein kleine Beispiele das ich derzeit in einer Pas-Datei (Hilfsfunktionen.Pas) habe. Habe die derzeit jeweils als eine Class behandelt. Dann wisst ihr zumindest, was ich meine.

Hier das erste Beispiel:
Delphi-Quellcode:
Type TDLL_Datei = class
  private
    bDLL_vorhanden: boolean;
    sDLLName: string;
    hDLLHandle: THandle;
    function DLL_vorhanden: boolean;
  public
    constructor create(const sDateiName: string); reintroduce;
    destructor Destroy; override;
    property Vorhanden: boolean read bDLL_vorhanden;
    property Handle: THandle read hDLLHandle;
end;

implementation

constructor TDLL_Datei.Create(const sDateiName: string);
begin
  inherited create;
  sDLLName := sDateiName;
  bDLL_vorhanden := DLL_vorhanden;
end;

function TDLL_Datei.DLL_vorhanden: boolean;
var DLL_Handle: THandle;
begin
  try
    DLL_Handle:=LoadLibrary(PChar(ExtractFilePath(ParamStr(0))+ 'DLL\'+sDLLName));
    if DLL_Handle <> 0 then
      begin
        hDLLHandle := DLL_Handle;
        result := true;
        FreeLibrary(DLL_Handle);
      end
    else result := False
  except
    result := false;
  end;
end;

destructor TDLL_Datei.Destroy;
begin
  inherited Destroy;
end;
Das habe ich mal gemacht, weil ich im derzeitigen Projekt 4 oder 5 verschiedene DLL´s habe. Damit konnte ich im Hauptprogramm einfach und schnell die Verfügbarkeit prüfen.

Wie würdet ihr sowas einarbeiten bei euch? Wie gesagt, ich hab derzeit das ganze in einer Pas zu liegen, ist mittlerweile etwas mehr drin und unübersichtlich. Ich weiß auch nicht ob dies in eine Klasse zu packen wirklich "sinnvoll" oder "guter Programmierstil" ist, aber deswegen frage ich ja

Edit: Der Hinweis von jaenicke wurde in #16 wurde eingearbeitet und die Library freigegeben.
2. Account Sero
  Mit Zitat antworten Zitat