Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Unit für Verknüpfung von Dateierweiterungen (https://www.delphipraxis.net/150315-unit-fuer-verknuepfung-von-dateierweiterungen.html)

Codewalker 13. Apr 2010 16:25


Unit für Verknüpfung von Dateierweiterungen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen.

Nachdem ich auch nach längerem Suchen keine wirklich brauchbare Lösung gefunden habe, eine Dateiendung in der Registry mit meinem Programm zu verknüpfen, habe ich kurzerhand eine eigene Klasse dafür gestrickt. Jede Methode enthält eine kurze Beschreibung, so dass es eigentlich selbsterklärend sein sollte. Ich werde aber noch eine kleine Demo nachliefern. Die Unit ist jetzt mit Compilerschaltern gespickt und sollte auch mit Delphi-Versionen ohne Generics funktionieren (noch ungetestet). Da außer dynamischen Arrays keine großen Spezialitäten verwendet werden, wäre es theoretisch bis Delphi 3 verwendbar.
Würde mich über Feedback jeder Art sehr freuen.

Noch geplante Features:
  • Verknüpfungen in XML-Dateien exportieren und später wiederherstellen können

Grüße
Codewalker

DeddyH 13. Apr 2010 16:31

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Zitat:

Zitat von Codewalker
Die Unit funktioniert ab Delphi 2006 (habe einige Generics eingesetzt)

Du meinst ab Delphi 2009, oder?

Codewalker 13. Apr 2010 16:36

Re: Unit für den Umgang mit Dateiverknüpfungen
 
hm, jetzt wo du es sagst. Gabs die echt erst so spät? Wenn das so ist, werde ich die Unit wohl doch mal umstricken, dass man wahlweise beides einsetzen kann.

DeddyH 13. Apr 2010 16:37

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Mein D2007 kennt jedenfalls keine generics ;)

unreal 13. Apr 2010 17:57

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Zitat:

Zitat von DeddyH
Mein D2007 kennt jedenfalls keine generics ;)

Mein D7pe auch nicht ;-)

Echt tolle Unit für Dateiverknüpfungen!?!

Reden wir hier über uraltes Delphi oder Lazarus/FPC?

Null Ahnung von Nix, echt verwirrt!

Codewalker 13. Apr 2010 18:15

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Habe die Unit nochmal angepasst (Download im ersten Beitrag). Ich nutze jetzt Compilerschalter und wechsele - falls keine Generics zur Verfügung stehen - auf dynamische Arrays. Scheint soweit zu funktionieren, aber vielleicht kann das mal jemand testen, der ein Delphi < 2009 hat.

Zitat:

Zitat von unreal
Mein D7pe auch nicht ;-)
Echt tolle Unit für Dateiverknüpfungen!?!
Reden wir hier über uraltes Delphi oder Lazarus/FPC?
Null Ahnung von Nix, echt verwirrt!

Hast du dir die Unit überhaupt angesehen? Es geht, wie oben beschrieben um Delphi (kein FPC, kein Lazarus). Und mit meiner Anpassung sollte es jetzt auch unter Win7PE klappen.

unreal 13. Apr 2010 18:39

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Zitat:

Zitat von Codewalker
Habe die Unit nochmal angepasst (Download im ersten Beitrag). Ich nutze jetzt Compilerschalter und wechsele - falls keine Generics zur Verfügung stehen - auf dynamische Arrays. Scheint soweit zu funktionieren, aber vielleicht kann das mal jemand testen, der ein Delphi < 2009 hat.

Zitat:

Zitat von unreal
Mein D7pe auch nicht ;-)
Echt tolle Unit für Dateiverknüpfungen!?!
Reden wir hier über uraltes Delphi oder Lazarus/FPC?
Null Ahnung von Nix, echt verwirrt!

Hast du dir die Unit überhaupt angesehen? Es geht, wie oben beschrieben um Delphi (kein FPC, kein Lazarus). Und mit meiner Anpassung sollte es jetzt auch unter Win7PE klappen.

Nö, habe mir die Unit nicht angesehen. Hab allerdings auch kein Win7PE!

Hallo lieber Codewalker!

Habe gerade vor ein paar Stunden auf meiner Vista-Kiste zusätzlich Windows 7 Enterprise (die Demo-Version) aufgesetzt und versuche gerade, Delphi Sieben Pörsonal Edischon zum Laufen zu bringen.

Und wie man hier überhaupt richtig zitieren kann, ist mir völlig schleierhaft!!!

Kanns nicht. Sollens doch die Besserwisser machen!

uligerhardt 13. Apr 2010 19:54

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Ich gehe mal in Erbsenzählermodus: :mrgreen:
  • Das hier
    Delphi-Quellcode:
      if Assigned(FActions) then
        FActions.Free;
    ist gleichbedeutend mit
    Delphi-Quellcode:
      if Assigned(FActions) then
        if Assigned(FActions) then
          FActions.Destroy;
    . :-P
  • In GetActionCount: Ich hab mir deinen Code nicht detailiert angeschaut, aber in jedem "normalen" Code, der mir untergekommen ist, sind IrgendWas.Count und Length(IrgendWas) moralisch äquivalent. Die - 1 sollte wohl weg.
  • Delphi-Quellcode:
    SetLength(FActions, Length(FActions));
    bewirkt nichts.

Grüße,
Uli.

Edit: Noch eine Idee: Die generische Version von TStringPair würde ich rausschmeißen und immer die record-Version nehmen. Und aus dem nichtgenerischen TFileTypeActions könnte man eine Klasse mit zu TDictionary<string, string> quellcode-kompatiblem Interface machen. Dann hättest du bestimmt weniger $IFDEFs und die alle an einer Stelle.

BUG 13. Apr 2010 20:13

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Und letztlich bewirkt
Delphi-Quellcode:
if Assigned(FActions) then
    FActions.Free;
das gleich wie:
Delphi-Quellcode:
FActions.Free;
:mrgreen:

himitsu 13. Apr 2010 20:33

Re: Unit für den Umgang mit Dateiverknüpfungen
 
Zitat:

Zitat von uligerhardt
Delphi-Quellcode:
SetLength(FActions, Length(FActions));
bewirkt nichts.

Das würde ich so nicht direkt unterschreiben.
Vermutlich bewirkt es bei ihm nichts,
aber dieses wäre praktisch die Entsprechung von UniqueString für dynamische Arrays
und sorgt quasi dafür, daß es nur eine Referenz gibt und daß diese Variable als einzige Referenz für dieses Array existiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.
Seite 1 von 3  1 23      

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