Logo писал(а):VirtUX, помойму у тебя SUSE 11.0, а какая версия QT? Подскажи, пожалуйста. У меня обновлено до 4.3.4 и Lazarus отказывается компилироваться под QT, libqt4intf.so 4.3.4 брал готовый и сам компилировал, - все тоже.
У меня OpenSUSE 11.0, чтобы собрать qt4pas-V1.66_Qt4.4.2 пришлось подправить файл compile_lib.bash
- Код: Выделить всё
#!/bin/env bash
# get latest from http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html
# for more info, you can visit the links on above page to FreePascal and Lazarus wiki
# download corresponding qt source
# unpack qt source -> the created directory (Qt4 dir) will be used below
# do configure and gmake in that Qt4 dir
#export QT4=/usr/lib/qt4
export QT4=/usr
export QT4I=$QT4/include
export LD_LIBRARY_PATH=$QT4/lib
if [ -e "$LD_LIBRARY_PATH/libQtCore.so" ]
then
g++ -D BINUX -I. -I$QT4I -I$QT4I/Qt -I$QT4I/QtGui -I$QT4I/QtCore -Iqlcl qtpas.cpp -o libqt4intf.so -shared -fPIC /usr/lib/libQtCore.so /usr/lib/libQtGui.so -Xlinker "-soname=libqt4intf.so"
strip --strip-all libqt4intf.so
else
echo "Please Modify location of Qt4 in this script"
fi
потом
$ bash compile_lib.bas
и всё собирается
c 4.3.4 лазарус собираться отказался, каких-то функций не нашел...
Добавлено спустя 19 минут 18 секунд:Logo писал(а):По поводу определения окна
У меня определяет хандл четко, без нулей и минусов.
Ось SUSE 11.0, GTK-2, x86_64, RAM 2Gb, Маус оптический мицуми совсем простой.
Определяются как отдельные окна, так и TWinСontrol`s на окнах.
А вот у меня почему-то нет
1. качаем архивчик с тестовым проектом:
http://shamangrad.net/tmp/findwnd.tar.bz22. компилируем и запускам
3. нажимем button1, наводим курор над формой Form1 и ждем - получаем ShowMessage и с числом <> 0
4. нажимем button1, наводим курор на любое другое окно и ждем - получаем ShowMessage и с числом 0, а нужно не ноль...
т.е. фактически получается поймать только окна своего приложения. а поймать окна других приложений не получается. А
нужно поймать окно именно чужого приложения (см.
тут)
Уточню, нам нужен не столько дескриптор окна, сколько его положение и размеры (включая рамку и заголовок). Т.е. нужно узнать экранные координаты прямоугольника.