Einzelnen Beitrag anzeigen

kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#1

Brauche dringend Hile funktion läuft net richtig

  Alt 2. Nov 2005, 13:23
Hallo...
Ich brauche dringend etwas hilfe bei meiner Server -> Client lizenz vergabe.

Ich habe eine funktion die Prüfen soll, ob sich eine Lizenz in der _BlockList befindet und nur freie Lizenzen die zur Anwendung passen zurückgeben soll.

Vorweg:
_AllLicenseList enthält alle gefunden Lizenzen im Format:

lizenz1.ldf
lizenz2.ldf
usw..

_BlockedList enhält die geblockten Lizenzen für eine Anwendung z.B
Testapp\lizenz1.ldf

dann ist die lizenz datei lizenz1.ldf im ordner Testapp in gebrauch

so und meine funktion soll jetzt die nächste freie Lizenz für die Anwendung (welche sich dann im Unterordner mit Namen der Anwendung befindet z.B Testapp) zurückgeben, dabei muss die _AllLicenseList durchlaufen werden, geprüft werden ob sich die Lizenz in der _BlockList befindet und es muss geprüft werden ob die eventuell freie Lizenz sich auch im Unterordner (z.B testapp) befindet.

der name der Anwendung wird als ApplicationName übergeben dieses ist dann auch der unterordner auf dem Server der den Namen der Anwendung haben muss.

ich hoffe ich habe es einigermaßen verständlich geschildert...


meine Funktion (die leider nicht richtig funzt sieht so aus:


Delphi-Quellcode:
function TLicenseService.GetFreeLicenseFileName(const ApplicationName:string): String;
var
i,y:integer;
Lizenz:string;
begin
 //der name der Lizenzdatei name muss zurückgegeben werden z.B Testapp\Lizenz1.ldf
 // wenn keine Lizenz mehr frei ist muss noFreeLicenses zurückgegeben werden
i:=0;
 while i <= ServerForm._AllLicenses.Count-1 do
 begin
  y:=0;
  Lizenz:=ApplicationName+'\'+ServerForm._AllLicenses.Strings[i];
  while y <= ServerForm._BlockedLicenses.Count -1 do
  begin
    if Lizenz=ApplicationName+'\'+ServerForm._BlockedLicenses.Strings[y] then
    begin
      Lizenz:='noFreeLicenses';
      break;
    end;
    if (y >=ServerForm._BlockedLicenses.Count -1) and(fileexists(ApplicationName+'\'+ServerForm._BlockedLicenses.Strings[y])) then
    begin
      result:=lizenz;
      exit;
    end;

   y:=y+1;
  end;

  i:=i+1;
 end;

 result:=Lizenz;
end;
Florian Gilde
  Mit Zitat antworten Zitat