A czy aktualne Delphi umożliwia w ogóle wybranie nazwy klasy, którą to potrzebuje np. FindWindow
?
Z tego co mi wiadomo, starsze Delphi miały hardkodowaną nazwę klasy dla wszystkich okien; Podobnie pod Lazarusem - nazwa klasy wszystkich okien jest zapisana na sztywno w kodzie biblioteki standardowej (nie wiem jak to nazwać) i nie ma możliwości jej zmiany/wyboru - za każdym razem jest to po prostu Window
;
Pisząc swój projekt, a konkretniej zabezpieczenie przed uruchomieniem kolejnej instancji, miałem z tym problem; Jaką nazwę klasy bym nie podawał to za każdym razem okna nie znajdowało; Wyczaiłem nazwę klasy dopiero w programie testowym, który pobrał tytuły i nazwy klas wszystkich okien (za pomocą EnumWindows
); Okazało się, że wszystkie okna programów kompilowanych w Lazarusie mają taką samą nazwę klasy... Wewnętrznie, bo nazwa klasy formularza np. TMainForm
nie sprawia, że funkcja FindWindow
znajdzie okno, jeśli w pierwszym parametrze dostanie ciąg TMainForm
.