AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Unit für Verknüpfung von Dateierweiterungen
Thema durchsuchen
Ansicht
Themen-Optionen

Unit für Verknüpfung von Dateierweiterungen

Ein Thema von Codewalker · begonnen am 13. Apr 2010 · letzter Beitrag vom 11. Mai 2010
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Codewalker
Codewalker
Registriert seit: 18. Nov 2005
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
Angehängte Dateien
Dateityp: pas fileassoc_542.pas (12,8 KB, 36x aufgerufen)
 
Benutzerbild von DeddyH
DeddyH

 
Delphi 11 Alexandria
 
#2
  Alt 13. Apr 2010, 16:31
Zitat von Codewalker:
Die Unit funktioniert ab Delphi 2006 (habe einige Generics eingesetzt)
Du meinst ab Delphi 2009, oder?
Detlef
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

 
Delphi XE2 Professional
 
#3
  Alt 13. Apr 2010, 16:36
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.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

 
Delphi 11 Alexandria
 
#4
  Alt 13. Apr 2010, 16:37
Mein D2007 kennt jedenfalls keine generics
Detlef
  Mit Zitat antworten Zitat
unreal

 
Delphi 7 Personal
 
#5
  Alt 13. Apr 2010, 17:57
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!
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

 
Delphi XE2 Professional
 
#6
  Alt 13. Apr 2010, 18:15
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 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.
Thomas
  Mit Zitat antworten Zitat
unreal

 
Delphi 7 Personal
 
#7
  Alt 13. Apr 2010, 18:39
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 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!
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

 
Delphi 2007 Professional
 
#8
  Alt 13. Apr 2010, 19:54
Ich gehe mal in Erbsenzählermodus:
  • 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;
    .
  • 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.
  • 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.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG
 
#9
  Alt 13. Apr 2010, 20:13
Und letztlich bewirkt
Delphi-Quellcode:
if Assigned(FActions) then
    FActions.Free;
das gleich wie:FActions.Free;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#10
  Alt 13. Apr 2010, 20:33
Zitat von uligerhardt:
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 09:20 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