Jak stwierdzić czy kompilacja zawiera biblioteki rtl, vcl i vclx?

0

Odnowiłem instalację D2007 na Win10, skompilowałem stary projekt i mam sygnały od kolegów że woła plików rtl100.bpl i tak samo vcl100.bpl i vclx100.bpl. U mnie nie woła bo są one w katalogach systemowych. Sprawdzałem w opcjach, wydaje się że jest ok. Na rysunku jest info z projektu, powiedzcie proszę co znaczy ten wpis o bibliotekach, znaczy trzeba je dołączyć czy są dołączone ?. Czy wystarczy te biblioteki dołączyć do katalogu exe czy trzeba je instalować w katalogu systemowym (system32 czy sysWOW64)?

information.jpg

1

Nie wiem dokładnie gdzie to jest w wersji 2007 (nie pamiętam czy kiedykolwiek miałem do czynienia z tą wersją) . W nowych Delphi to Project Options -> Packages -> Runtime package i tu "Link with runtime packages" ma być odznaczone [ ] . Ważna uwaga zróć uwagę abyś to miał dla wszystkich konfiguracji czyli Debug i Release a przynajmniej Release bo chyba tak skompilowany program udostępniasz. Po zmianie tej opcji musisz przebudować Shift + F9 projekt (nie tylko skompilować). Ewentualnie jak chcesz dołączyć biblioteki wystarczy, że będą w tym folderze co EXE.

Aha ten spis oczywiście jest listą bibliotek, które powinieneś dołączyć do programu jeżeli nie zmienisz konfiguracji jak pisałem wyżej.

0
kAzek napisał(a):

... W nowych Delphi to Project Options -> Packages -> Runtime package i tu "Link with runtime packages" ma być odznaczone [ ] ...

Aha ten spis oczywiście jest listą bibliotek, które powinieneś dołączyć do programu jeżeli nie zmienisz konfiguracji jak pisałem wyżej.

Dzięki i wszystko jasne, oczywiscie miałem zaznaczone [x], a już chciałem instalować "czysty" system aby sprawdzać kolejne ustawienia. Jeszcze raz dzięki bardzo, zaoszczędzę troche czasu...
pozdrawiam i zdrowych wesołych świąt życzę.
AK

0

Dzięki i wszystko jasne, oczywiscie miałem zaznaczone [x], a już chciałem instalować "czysty" system aby sprawdzać kolejne ustawienia. Jeszcze raz dzięki bardzo, zaoszczędzę troche czasu...

No nie całkiem jasne, po odznaczeniu opcji program wywala błąd podczas "Build Program" :

F2051 Unit JvTimer was compiled with a different version of Classes.TThread.Synchronize ... 

wydaje się że biblioteka JV używa bibliotek o tej samej nazwie. Jest na embarcadero nawet sposób :

Ten błąd krytyczny występuje, gdy deklaracja symbolu zadeklarowana w części interfejsu jednostki zmieniła się, a kompilator nie może ponownie skompilować jednostki, która opiera się na tej deklaracji, ponieważ źródło nie jest do niej dostępne.

Istnieje kilka możliwych rozwiązań - zrekompiluj Unit1 (zakładając, że masz dostępny kod źródłowy), użyj starszej wersji Unit2 lub zmień Unit2 lub uzyskaj nową wersję Unit1 od kogokolwiek, kto ma kod źródłowy.

Ten błąd może również wystąpić, gdy jednostka w projekcie ma taką samą nazwę jak standardowa jednostka Delphi.

Na przykład może się tak zdarzyć podczas kompilowania projektu napisanego w poprzedniej wersji Delphi, który nie ma jednostki o tej nazwie (na przykład search.pas nie znajdował się w Delphi 3).

Aby rozwiązać problem w tym przypadku:

  1. Otwórz <Unit2> i zapisz go pod nową nazwą.
  2. Zmień wszystkie odniesienia do <Unit2> w klauzulach uses odwołujących się do nowej nazwy.
  3. Usuń stare wersje <unit2> .pas i <unit2> .dcu tego urządzenia.
  4. Przebuduj projekt.

Ale jak to ruszyć, nie mam na razie pojęcia. Tymczasowo poradziłem sobie kompilując projekt. Sama kompilacja przechodzi normalnie. Spotkał się ktoś z tym problemem ?.
pozdrawiam
AK

1

Nie wiem czy dobrze zrozumiałem ale prawdopodobnie masz plik JvTimer.dcu skompilowany w innej wersji Delphi (być może tylko z innymi opcjami kompilatora) a Delphi nie wie gdzie są jego źródła czyli JvTimer.pas (inaczej by bez zająknięcia skompilował ponownie). Sądząc po nazwie ten plik jest częścią pakietu JEDI sprawdź w opcjach środowiska (lub projektu) czy gdzieś jest podana ta ścieżka może być jak Library path, bądź Search/Browsing path.

0

No tak znalazłem plik JVTimer.pas i dodałem do niego scieżkę .../jvcl/run i poszło ....
kAzek, jesteś wielki ... a ja jestem bałaganiarz ...
pozdrawiam
AK.

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