Jak rozwiązać problemy przy instalacji SynEdit 1.1 na D7PE
my_nick
UWAGA: Wskazówka zmodyfikowana (podziękowania dla Dominika). Aby SynEdit działało lepiej, należy przywrócić oryginalny plik SynEditPropertyReg.pas a następnie wprowadzić od nowa następujące zmiany:
SynEdit w wersji 1.1 (najnowszej) używa do wielu rzeczy modułów DesignIntf i DesignEditors, za pośrednictwem modułu SynEditPropertyReg. Z nimi wiąże się większość błędów przy instalacji pakietu. Przede wszystkim sekcję uses należy zmodyfikować do następującej postaci:
uses
Classes,
Dialogs,
Forms,
Graphics,
Controls,
VCLEditors,
DesignIntf,
DesignEditors,
SynEditKeyCmds,
SynEditKeyCmdsEditor,
SynEdit,
SynEditPrint,
SynEditPrintMargins,
SynEditPrintMarginsDialog,
SynAutoCorrect,
SynAutoCorrectEditor;
Z dziwnego powodu dyrektywy nie działają tu zbyt dobrze i trzeba ręcznie wymusić użycie prawidłowych plików. Następny błąd, drugi i ostatni, jest w pliku SynMacroRecorder, linia 375 - nie jest wykrywana stała sListIndexError. Wystarczy ją zadeklarować w module lub poprostu wpisać tekst, np. 'Błąd podczas usuwania zdarzena' czy choćby 'Koziołek Matołek' (z tym że to będzie w razie czego wyglądać trochę głupio...). Po tych czynnościach wszystko powinno być w porządku. Ostrzeżeniami "implicty imported" można się nie przejmować.
PS. W razie gdyby kompilator nie mógł znaleźć jakiegoś pliku (np. SynAutoCorrect, nie wiem czemu akurat ten, ale się to zdarza), należy dodać do Search Path projektu ścieżkę katalogu Source w katalogu głównym SynEdit.
Próbowałem - nic to nie dało, a tak jest przynajmniej prościej, w końcu to jest instrukcja instalacji pod d7, więc po co inne ewentualności?
Tak sobie teraz myślę, że może opłacało by się raczej zmodyfikować SynEdit.inc (*.inc - chyba SynEdit) - dodając dyrektywy dla COMPILER_7 i COMPILER_7_UP...
Z moich doświadczeń z instalacją SynEdita błąd z TFontProperty też da się zlikwidować. Po prostu trzeba usunąć wszystkie dyrektywy związane z { .$IFDEF COMPILER_6_UP }(chodzi tu chyba o moduł Rtl).