Rejestr

Odpowiedz Nowy wątek
2003-08-24 14:15

Rejestracja: 17 lat temu

Ostatnio: 5 lat temu

0

Rejestruję sobie rozszerzenie dla mojego programu :

procedure StworzCoTrzeba;
var
    reg : TRegistry;
begin
    Reg.RootKey := HKEY_CLASSES_ROOT;
    Reg.OpenKey('.edt', true);
    Reg.WriteString('','edt_auto_file');
    Reg.CloseKey;
    Reg.OpenKey('edt_auto_file', True);
    Reg.WriteString('', 'Moj typ pliku');
    Reg.CloseKey;
    Reg.OpenKey('edt_auto_file\shell\open\command', true);
    Reg.WriteString('', '"'+ Application.ExeName + '" "%1"');
    Reg.CloseKey;
    Reg.OpenKey('edt_auto_file\DefaultIcon', true);
    Reg.WriteString('', '"'+ Application.ExeName + ',0');
    Reg.CloseKey;
end;

Pytania :

  1. Dlaczego jak użyję tej procedury, to potem przy wychodzeniu z programu (nie od razu) wywala mi Acces Violation, ale nie w żadnym konkretnym miejscu, albo jak się uruchomi nie spod Delphi, to "Program wykonał nieprawidłową operację".
  2. Dlaczego nie przyporządkowuje mi takiej ikonydo rozszerzenia, jaką ja bym chciał, tylko takią jak ma np. command.com ?

Słowa kierownika : To, jak wy zdążycie to napisać, to ja mam w szeroko rozumianej du*ie.
http://project1.pl

Pozostało 580 znaków

2003-08-24 14:46

Rejestracja: 17 lat temu

Ostatnio: 9 lat temu

0

A nie zapomniałeś o:

reg := TRegistry.Create;
...
reg.Free;

Pozostało 580 znaków

2003-08-24 14:50

Rejestracja: 17 lat temu

Ostatnio: 5 lat temu

0

Eeeeee... zapomniałem. Ale o dziwo działało, tylko ten błąd właśnie wyskakiwał.
//DOPISANE
Może ktoś wie z tą ikoną?


Słowa kierownika : To, jak wy zdążycie to napisać, to ja mam w szeroko rozumianej du*ie.
http://project1.pl

Pozostało 580 znaków

2003-08-24 20:41

Rejestracja: 17 lat temu

Ostatnio: 1 dzień temu

0

Reg.WriteString('', '"'+ Application.ExeName + ',0');

Zapomniałeś też zamknąć cudzysłowia

Pozostało 580 znaków

2003-08-25 02:42

Rejestracja: 17 lat temu

Ostatnio: 13 lat temu

0

na mój gust powinno być plus przecinek jeden.. tzn :

.ExeName + ',1');

bo taka jest scieżka do ikonki twojego programu..


Pozostało 580 znaków

2003-08-25 08:45

Rejestracja: 17 lat temu

Ostatnio: 5 lat temu

0

Nie nie, 0 jest w porządku. Zrobiłem zgodnie ze wskazówką Juhasa :

Reg.WriteString('', '"'+ Application.ExeName + '",0');

i już wszystko działa.


Słowa kierownika : To, jak wy zdążycie to napisać, to ja mam w szeroko rozumianej du*ie.
http://project1.pl

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0