Free Pascal && GUI apps
У меня: Windows XP + SP2 и FPC 2.0.4
Любой код (например, тот что вместе с компилятором идет в качестве примеров) компилируется без ошибок, но когда пытаюсь запустить говорит (через FPC IDE - Ctrl+F9):
Код:
Program c:\bla\bla\bla\hello.exe exited with exitcode = 313
а когда запускаю эту же экзишку через эксплорер, получаю:
Код:
The procedure entry point GetWindowLongPtrA could not be located in the dynamic link library user32.dll
У друга под WinXP+SP2 и FPC-1.0.10 все работает.
У меня же, после компиляции того же кода в FPC-1.0.10, и запуска .ехе вылазит окно с еррором и кучей адресов памяти.
Уже на третий форум пишу, первые 2 не отвечают. SOS!
PS. Если надо, могу показать исходник.
http://www.freepascal.org в разделе багов, может что найдешь. Удачи!
Так сразу не скажешь. У меня под WinXP+SP2 и FPC 1.9.2 нет таких проблем, возможно у тебя не стабильная версия. Посмотри на
Не нашел я в баг трекере ничего. И в гугле тоже.
Возможно с каким-то софтом конфликтует...
Код:
[FONT=Courier New]LONG_PTR GetWindowLongPtr(
HWND hWnd,
int nIndex
);[/FONT]
HWND hWnd,
int nIndex
);[/FONT]
С функцией GetWindowLongPtrA (или Unicode-аналог, GetWindowLongPtrW) так и не нашёлся. Да и с какой целью делать её ANSI или Unicode совместимой, что-то строк в ней нет. Попробуй исправить GetWindowLongPtrA на GetWindowLongPtr.
Не нашел я в баг трекере ничего. И в гугле тоже.
Возможно с каким-то софтом конфликтует...[/QUOTE]
Просто ты сказал что у тебя с екзамплов ничего не компилирует. Попробуй скомпилировать что то простое типа begin writeln('suxx'); end. что он на это скажет? Так же попробуй поставить в настройках копилятора совместимость с BP.
На сколько я понял дело в том что он питаеться вызвать фукцию с user32.dll которой там нет, или же она с другими параметрами. Возможно (наверное!?) у тебя какой то софт заменил эту библиотеку, или что то подобное. Можешь попробовать взять эту библиотеку с другой рабочей винды и просто в сейф моде заменить свою. Только сделай точку востановления перед этим. Если не поможет пиши, будем думать. Удачи!
В сейф моде тоже не хочет заменятся - говорит файл используется. К тому же она одинакого размера с той, что на другой винде.