FreeBasic
Главная
Вход
Регистрация
Вторник, 23.04.2024, 22:05Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » WinAPI » WinApi в freebasic » Заголовочные файлы к FreeBasic (тестируем заголовочные файлы в x64)
Заголовочные файлы к FreeBasic
electrikДата: Воскресенье, 28.09.2014, 13:43 | Сообщение # 1
Полковник
Группа: Друзья
Сообщений: 180
Репутация: 3
Статус: Offline
взялся я за это дело, и вобщем не всё так просто. возможно, ошибок где-то наделал, вот заголовки, которые работают с WinApi в x64
https://dl.dropboxusercontent.com/u/63991073/FbWinHeaders.7z
скажу сразу, что не все примеры iczelion'а в x64 заработали.
будем искать в чем дело, ну и кому это интересно, тоже пытайтесь что-то делать.
не уверен в файле basetsd.bi, там всякие макросы типа:
ptrToInt
ptr64ToPtr и т.д.
вот жаль, что во FreeBasic нельзя переопределить тип данных только на заголовочные файлы.
предположим, я где-то в начале заголовочного файла пишу типа:
type integer as integer<32>
и всё что вызывается из него интерпретируется как 32 битный integer.
не везде, возможно я исправил, а мож где есть исключения из правил.
тут не одному надо ковыряться, ибо я всё знать не могу, а подробно читать msdn к каждой функции, константе - убьешся, проще забить на всё, и писать на c.

Добавлено (28.09.2014, 05:08)
---------------------------------------------
а да, ещё немного библиотек положил, нну типа: libuser32.dll.a, libversion.dll.a и т.д. для тестирование iczelion туториалов хватит.

Добавлено (28.09.2014, 13:43)
---------------------------------------------
как мы знаем, есть ещё такое понятие как выравнивание структур. возможно из-за этого есть баги. я попробовал пример с треем, с разным выравниванием, пока без результата. но что-то не так, ибо в трее появляется надпись, но только последнее слово.
ещё есть понятие #pragma push(msbitfields), тут я пока до конца не доехал, там написано что-то с совместимостью выравнивания битов gcc и microsoft.
в общем пока не всё понятно, будем думать.

 
haavДата: Воскресенье, 28.09.2014, 18:28 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
В ближайшие дни я попробую потестировать заголовки. Я тут ставил на другой жесткий диск 64х битную висту (демку). В какой нибудь день воткну опять этот жесткий диск и попробую погонять примеры с winapi.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
haavДата: Вторник, 30.09.2014, 12:20 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Попробовал Серега твои заголовки. Нифига они у меня не работают biggrin . В общем взял подключил заголовки как в windows.bi:


Код
#include once "win/windef.bi"
#Include once "win/wincon.bi"
#include once "win/winbase.bi"
#include once "win/wingdi.bi"
#include once "win/winuser.bi"
#include once "win/winnls.bi"
#include once "win/winver.bi"
#include once "win/winnetwk.bi"
#include once "win/winreg.bi"
#include once "win/winsvc.bi"

Мне вывалились ошибки:


Код
C:\Users\haav\Downloads\fbedit\fb\fbc -s console "FbTemp.bas"
C:\Users\haav\Downloads\fbedit\fb\inc\win\winnt.bi(1406) error: undefined processor type
C:\Users\haav\Downloads\fbedit\fb\inc\win\winnt.bi(1423) error 14: Expected identifier, found 'PCONTEXT' in 'ContextRecord as  
PCONTEXT'
C:\Users\haav\Downloads\fbedit\fb\inc\crt\stddef.bi(20) error 4: Duplicated definition in 'type size_t as uinteger'
C:\Users\haav\Downloads\fbedit\fb\inc\win\winbase.bi(1339) error 58: Illegal specification, at parameter 2 of GetThreadContext()  
in 'declare function GetThreadContext (byval as HANDLE, byval as  
LPCONTEXT) as BOOL'
C:\Users\haav\Downloads\fbedit\fb\inc\win\winbase.bi(1514) error 58: Illegal specification, at parameter 2 of SetThreadContext()  
in 'declare function SetThreadContext (byval as HANDLE, byval as CONTEXT
  ptr) as BOOL'

Build error(s)

Дальше и пробовать больше ничего не стал. Была бы 64х винда постоянно на основном винте, можно было бы потом потыкать еще. А так постоянно лезть в системник и перетыкать провода напрягает... Хрен с ней с этой 64х битной версией, я и с 32х битной проживу smile


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
AlecДата: Вторник, 30.09.2014, 16:49 | Сообщение # 4
Лейтенант
Группа: Друзья
Сообщений: 73
Репутация: 1
Статус: Offline
Ну ещё я остался с 64-битной системой, кто ещё не тестировал. Я протестирую, интересно, что у меня будет...

WorldSim3D - 3D движок для FreeBasic, для PC. Мощная 3D графика и простота программирования. Ознакомиться.
 
electrikДата: Суббота, 11.10.2014, 19:05 | Сообщение # 5
Полковник
Группа: Друзья
Сообщений: 180
Репутация: 3
Статус: Offline
значит не судьба. пойдём тогда другим путём,, не сразу будем всё править, а начиная с простого окна, и постепенно дальше.
 
Форум » WinAPI » WinApi в freebasic » Заголовочные файлы к FreeBasic (тестируем заголовочные файлы в x64)
  • Страница 1 из 1
  • 1
Поиск: