Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать вызов аналогичный данному в FoxPro "WinAPI" / 4 сообщений из 4, страница 1 из 1
12.11.2008, 10:00
    #35648316
НовичокAPI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать вызов аналогичный данному в FoxPro "WinAPI"
Есть кусок из Delphi помогите перевести в Fox
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Type FT_Result = Integer;
var
	FT_Device_Count : DWord;
Const 
    FT_LIST_NUMBER_ONLY = $ 80000000 ;
    FT_DLL_Name = 'FTD2XX.DLL';
	FT_OK = 0 ;
implementation	
function FT_GetNumDevices(pvArg1:Pointer; pvArg2:Pointer; dwFlags:Dword):FT_Result; stdcall; External FT_DLL_Name name 'FT_ListDevices';

Собственно вызов
...
Result := FT_GetNumDevices(@FT_Device_Count,Nil,FT_LIST_NUMBER_ONLY);
...
...
Рейтинг: 0 / 0
12.11.2008, 12:37
    #35648878
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать вызов аналогичный данному в FoxPro "WinAPI"
НовичокAPIЕсть кусок из Delphi помогите перевести в Fox
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Type FT_Result = Integer;
var
	FT_Device_Count : DWord;
Const 
    FT_LIST_NUMBER_ONLY = $ 80000000 ;
    FT_DLL_Name = 'FTD2XX.DLL';
	FT_OK = 0 ;
implementation	
function FT_GetNumDevices(pvArg1:Pointer; pvArg2:Pointer; dwFlags:Dword):FT_Result; stdcall; External FT_DLL_Name name 'FT_ListDevices';

Собственно вызов
...
Result := FT_GetNumDevices(@FT_Device_Count,Nil,FT_LIST_NUMBER_ONLY);
...


Код: plaintext
FT_LIST_NUMBER_ONLY = $ 80000000 ;
преобразуется в
Код: plaintext
#DEFINE FT_LIST_NUMBER_ONLY 0x80000000

Код: plaintext
function FT_GetNumDevices(pvArg1:Pointer; pvArg2:Pointer; dwFlags:Dword):FT_Result; stdcall;
преобразуется предоположим:
Код: plaintext
DECLARE LONG FT_ListDevices IN FTD2XX.DLL AS FT_GetNumDevices LONG@ pvArg1, LONG@ pvArg2, INTEGER dwFlags
Хотя, с LONG надо будет еще поиграться.
...
Рейтинг: 0 / 0
12.11.2008, 13:04
    #35648984
НовичокAPI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать вызов аналогичный данному в FoxPro "WinAPI"
Вот такой код
Код: plaintext
1.
2.
3.
4.
5.
DevNum= 0 
ParNull=NULL
#DEFINE FT_LIST_NUMBER_ONLY 0x80000000
DECLARE long FT_ListDevices IN FTD2XX.DLL long @Par1,long @Par2,integer Par3
?FT_ListDevices(@DevNum,null,FT_LIST_NUMBER_ONLY)
?FT_ListDevices(@DevNum,@ParNull,FT_LIST_NUMBER_ONLY)

дает ошибку см.jpg
Data type mismatch
...
Рейтинг: 0 / 0
12.11.2008, 13:11
    #35649005
НовичокAPI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать вызов аналогичный данному в FoxPro "WinAPI"
А это кусок из документации по использованию устройства в чем моя ошибка не пойму.
Устройство в системе есть дрова встали.
Код: plaintext
1.
2.
3.
4.
5.
6.
The examples that follow use these variables.
FT_STATUS ftStatus;
DWORD numDevs;
 1 . Get the number of devices currently connected
ftStatus = FT_ListDevices(&numDevs,NULL,FT_LIST_NUMBER_ONLY);
if (ftStatus == FT_OK)
{ // FT_ListDevices OK, number of devices connected is in numDevs } else { // FT_ListDevices failed }
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать вызов аналогичный данному в FoxPro "WinAPI" / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]