AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Brauche dringend Hile funktion läuft net richtig
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche dringend Hile funktion läuft net richtig

Ein Thema von kingflo · begonnen am 2. Nov 2005 · letzter Beitrag vom 2. Nov 2005
Antwort Antwort
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
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: Brauche dringend Hile funktion läuft net richtig

  Alt 2. Nov 2005, 13:31
Kann das sein das das garnicht gehen kann

Delphi-Quellcode:
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
Wenn in "Lizenz" der ganze Pfad der Lizenz drin ist und in ServerForm._BlockedLicenses.Strings[y] nicht wird er nie eine Geblock Lizenz finden oder
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#3

Re: Brauche dringend Hile funktion läuft net richtig

  Alt 2. Nov 2005, 13:35
Benutz den Debugger und schau dir die verschiedenen Werte an, oder gib sie per ShowMessage aus.

Ich vermute, dass in irgendeiner Variablen nicht das steht, was du erwartest.

P.S. Hilfreich ist es auch, wenn du sagst, was nicht funktioniert.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
kingflo

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

Re: Brauche dringend Hile funktion läuft net richtig

  Alt 2. Nov 2005, 13:36
in Lizenz ist nicht der Ganze Pfad sondern nur der Applikations Name + lizenzdatei und wie gesagt der Applikations Name ist auf dem Server das Verzeichnis:

lizenz ist also z.B

testapp\lizenz1.ldf



wen ich an dieser Stelle

Delphi-Quellcode:
    if (y >=ServerForm._BlockedLicenses.Count -1) and(fileexists(ApplicationName+'\'+ServerForm._BlockedLicenses.Strings[y])) then
    begin
das and (fileexists(ApplicationName+'\'+ServerForm._Blocke dLicenses.Strings[y]) weglasse funktioniert alles soweit, dass ich zwar nur freie Lizenzen als result zurückbekomme, diese aber nicht unbedingt für die Applikation sind also sich nicht auf dem Server im Unterordner mit Namen der Applikation befinden.

Wenn ich es so lasse wie es ist, gibt er immer die selbe lizenz zurück auch wenn sie geblockt ist.
Florian Gilde
  Mit Zitat antworten Zitat
kingflo

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

Re: Brauche dringend Hile funktion läuft net richtig

  Alt 2. Nov 2005, 14:54
Ich habs irgendwie doch hinbekommen der Code sieht jetzt 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;
      if fileexists(extractfilepath(application.exename)+'Lizenzen\'+ApplicationName+'\'+ServerForm._AllLicenses.Strings[i]) then
      Lizenz:=ApplicationName+'\'+ServerForm._AllLicenses.Strings[i];
      while y <= ServerForm._BlockedLicenses.Count -1 do begin
        if (Lizenz=ServerForm._BlockedLicenses.Strings[y]) or
        (not fileexists(extractfilepath(application.exename)+'Lizenzen\'+Lizenz)) then begin
          Lizenz:='noFreeLicenses';
          break;
        end;
        if (y >=ServerForm._BlockedLicenses.Count -1) and
           (fileexists(extractfilepath(application.exename)+'Lizenzen\'+Lizenz)) then begin
          result:=lizenz;
          exit;
        end;

       y:=y+1;
      end;

      i:=i+1;
    end;

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


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 05:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz