AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte WebUpdate System (FC III)
Thema durchsuchen
Ansicht
Themen-Optionen

WebUpdate System (FC III)

Ein Thema von WebUpdate System · begonnen am 16. Aug 2009 · letzter Beitrag vom 27. Nov 2009
Antwort Antwort
WebUpdate System

Registriert seit: 11. Aug 2009
19 Beiträge
 
#1

Re: WebUpdate System (Gamma IV)

  Alt 19. Aug 2009, 21:25
Hallo Zusammen,

anbei die aktualisierte Version 20090819 des WUS. Folgendes hat sich geändert:

[+] Der Updater kann nun wieder unter D2006/TD kompiliert werden
[+] Die Versionsermittlung über das Erstellungsdatum wird nicht mehr automatisch unterstützt
[+] Statusanzeige für den Logger eingeführt

Das kompilieren, heißt kompilieren. Es wurde nicht darauf getestet, daß die Widestrings und Ansistrings auch zwischen den Umgebungen funktionieren. Vielleicht könnte dies jemand machen und für etwas D2006/TD kompatibilität sorgen. Der Composer (als .EXE) ist übrigens unter D2009 kompiliert und damit voll Unicodefähig.


Könnte jemand den untenstehenden Code bitte prüfen und verbessern? Er soll aus dem Applikationsdirektory und dem Pfad der neuen Datei den Zielordner ermitteln und zur Verfügung stellen. Beispiel:
AppDir = 'c:\programme\mycompany\mysoftware'
NewFile = 'bin\myNew.Exe'

soll zu
'c:\programme\mycompany\mysoftware\bin\myNew.Exe'

werden. Die Ermittlung des Updatepfads ist ja eine grundlegende Funktion, bitte mal zu prüfen und, falls Fehler, zu berichten und zu verbessern (und hier in diesen Thread posten) danke.

Delphi-Quellcode:
function CombineDirectory(aDirectory, aRelativePath: String): String;
var
  LD: integer;
begin
  result := '';
  while copy(aRelativePath, 1, 3) = '..\do
  begin
    aDirectory := ExcludeTrailingPathDelimiter(aDirectory);
    ld := LastDelimiter('\', aDirectory);
    Delete(aDirectory, ld+1, length(aDirectory) - ld);
    aRelativePath := copy(aRelativePath, 4, length(aRelativePath) - 3);
  end;

  aDirectory := ExcludeTrailingPathDelimiter(aDirectory);
  if copy(aRelativePath, 1, 2) = '.\then
    result := aDirectory + '\' + copy(aRelativePath, 3, length(aRelativePath) - 2)
  else
    if not (aRelativePath[1] in ['\', '.']) then
      result := IncludeTrailingPathDelimiter(aDirectory) + aRelativePath
    else
      if aRelativePath[1] = '\then
        result := aDirectory + aRelativePath;
end;

Der Updatelink, wurde im 1. Post angepaßt.
  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 18:05 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