[delphi]unrar.dll problem

0

Mam biblioteke unrar.dll jesli znajduje sie ona w katalogu z programem wszystko jest ok. Jednak robie instalator więc wciagnalem unrar.dll do zasobow. Nastepnie program wyciaga ja z zasobow i tymczasowo zapisuje w katalogu z instalatorem. Jednak to nic nie daje bo kompnent UNRAR jaki posiadam chyba sprawdza obecnosc pliku dll przy uruchamianiu programu zanim program zdazy wyciagnac z zasobow biblioteke. Co poradzicie?

0

Może zrobienie pustego pliku unrar.dll pomoże, a potem jego napisanie

0

no a jak to masz w kodzie, po prostu wyjmij, puść plik, daj delay troszkę i dopiero odwołuj się do tej biblioteki ...

0

Albo twórz komponent dynamicznie dopiero po wyciągnięciu DLL z zasobów i będzie ok :)

0

Albo wyciągnij UNRAR z zasobów zanim stworzysz jaką kolwiek formę, jeśli to nie pomoże to oznacza że unrar.dll nie jest ładowany przez komponent dynamicznie więc trzeba będzie przerobić sposób ładowania bibioteki unrar.dll w komponencie... :)

0
ClockMan napisał(a)

Albo wyciągnij UNRAR z zasobów zanim stworzysz jaką kolwiek formę, jeśli to nie pomoże to oznacza że unrar.dll nie jest ładowany przez komponent dynamicznie więc trzeba będzie przerobić sposób ładowania bibioteki unrar.dll w komponencie... :)

Może autor by napisał co to za komponent, No właśnie nie wziąłem tego pod uwagę w moim poprzednim poście, dokładnie jak napisał ClockMan jest możliwość, że komponent ładuje bibliotekę DLL statycznie, czyli w tym stylu:

function JakasTam(JakieśParametry): CośZwraca; stdcall;
    external 'unrar.dll' name 'JakasTamNazwa';

Wtedy pozostaje tylko przeróbka komponentu o ile jest możliwa (nie zawsze dostępne są źródła)
No, ale nic chyba więcej nie można wymyślić dopóki nie dowiemy się, co to za komponent.

0

Kompnent nazywa sie RARArc. Poradzilem sobie z problemem. W pliku pas komonentu dopisalem procedure wyciagania dll z zasobow. Moze malo uniwersalne ale dziala:D.

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