AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Dateitypen mit Programm verknüpfen (ohne Admin-Rechte)
Thema durchsuchen
Ansicht
Themen-Optionen

Dateitypen mit Programm verknüpfen (ohne Admin-Rechte)

Ein Thema von notErnie · begonnen am 15. Okt 2004 · letzter Beitrag vom 21. Okt 2004
Antwort Antwort
MathiasSimmack
(Gast)

n/a Beiträge
 
#1

Re: Dateitypen mit Programm verknüpfen (ohne Admin-Rechte)

  Alt 16. Okt 2004, 15:45
Vllt. ein paar Worte von mir, die bitte nicht falsch zu verstehen sind --

Ich habe die "TFileTypeRegistration"-Klasse u.a. geschrieben, weil ich mit dem Prinzip von Funktionen wie dieser
Zitat von notErnie:
procedure registerfiletype(Handle: HWnd; ft, key, desc, icon, prg: string);
nie ganz zufrieden war. Manchmal möchte/muss man für den gleichen Dateityp verschiedene Aktionen registrieren. Soll heißen: Man muss die Funktion mehrmals aufrufen. Ein Tippfehler bei der Angabe der Endung o.ä., und dann geht die Fehlersuche los.
Mal abgesehen davon sind Variablennamen wie "ft" nicht wirklich aussagekräftig. Dein Programm vergrößert sich nicht, wenn du stattdessen einen Klarnamen wie "Extension" o.ä. benutzt.

Bei meiner Klasse gibt´s dieses Problem nicht. Beginnt man mit dem Registrieren eines Dateityps, dann gelten alle darauf folgenden Aktionen auch für diesen Typ:
Delphi-Quellcode:
ftr := TFileTypeRegistration.Create;
if(ftr <> nil) then
try
  if(ftr.RegisterType('.foo','FooFile','FOO Description',
    'c:\folder\icon.ico')) then
  begin
    ftr.AddHandler('open','"c:\folder\foo.exe" "%1"');
    ftr.AddHandler('print','"c:\folder\foo.exe" /p "%1"');
    ftr.AddHandler('edit','notepad.exe "%1"');

    { ... }
  end;
finally
  FreeAndNil(ftr);
end;
usw.

Warum ich das erwähne? Ganz einfach: Offenbar kennst du meine Klasse, wie ich an "IsAdmin" (von Nico, btw) erkenne:
Zitat:
//----von Mathias Simmacks "IsAdmin.inc" (TFileTypeRegistration.zip) geklaut:
Du hättest also bspw. die Klasse umschreiben bzw. erweitern können, so dass eben nicht mehr in HKEY_CLASSES_ROOT, sondern in HKCU gespeichert wird. Damit wäre der Komfort erhalten geblieben, denn am Prinzip der Typregistrierung ändert sich nämlich nichts.


btw: Jemand () sollte mal den einzigen bisher gefundenen Bug in der Unit mal fixen und diese dann neu anhängen.
  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 15:39 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