powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вызов функций win32 API
15 сообщений из 15, страница 1 из 1
Вызов функций win32 API
    #32714899
lezah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне необходимо вызвать следующие функции для определения модемов, установленных в системе.

LONG lineInitialize(
LPHLINEAPP lphLineApp,
HINSTANCE hInstance,
LINECALLBACK lpfnCallback,
LPCSTR lpszAppName,
LPDWORD lpdwNumDevs
);

LONG lineGetDevCaps(
HLINEAPP hLineApp,
DWORD dwDeviceID,
DWORD dwAPIVersion,
DWORD dwExtVersion,
LPLINEDEVCAPS lpLineDevCaps
);

Проблема заключается в использовании структур. Непонятно, как их передавать, объявлять и использовать.

Если кто-нибудь знает, как объявить эти функции в фоксе, то, пожалуйста, помогите. Буду признателен.
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32714914
Гость_xxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос понял, подожди чуток, вышлю FLL, в фоксе с этим бороться бэсполэзно. Он канэшно крут в базах, но с системой не дуржит :))
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715024
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715038
Гость_xxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир, Вы конечно эрудированный человек, но Вы сами пробовали что-то реализовать из того на что дали ссылку .. хммм, даже в течении неделек так этак 2-х ?
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715072
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы не заметили, то по приведенной ссылке в верхнем правом углу есть ссылка на оригинал статьи и написанный класс для конвертации.

Согласен. Класс имеет недостатки. Но в большинстве случаев этого хватает.
Опять же согласен, что формировать символьную строку-стркутуру - очень утомительно.

Если же Вы даете свою собственную закрытую библиотеку, то к Вам будет ряд вопросов:

Вы ручаетесь за свою библиотеку FLL? Она будет безглючно работать при любых условиях? А если надо будет внести в нее изменения - будете вносить по первому требованию?
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715083
Гость_xxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я по жизни за базар отвечаю.
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715098
Сложного особо ничего нет, но нужно иметь полный MSDN, включащий в себя SDK и справку по VC.
Структура формируется как строка, в которую последовательно помещаются необходимые значения. Найдите в MSDN описание необходимой функции, так увидите ссылки на структуры. В функции lineGetDevCaps используется указатель на структуру LPLINEDEVCAPS. Открываете справку по этой структуре и видите, что она имеет вложенные структуры. Вычисляете полный размер необходимой памяти для структуры в байтах и создаёте заполненную нулями строковую переменную необходимой длины, например, при помощи REPLICATE.
Для преобразования целых чисел в DWORD я использую WinApi функцию RtlMoveMemory, которая, в частности, делает копию INTEGER в строку из 4-х байтов.
Объявление функции lineGetDevCaps на VFP выглядит так:

declare long lineGetDevCaps in Win32 long, long, long, long, string @

Последний аргумент - сформированная вами строка.
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715099
Гость_xxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то - это ТAPI, это для непосвященных, а фокс, мой любимый фокс, никак не умеет работать со структурами данными вложенноси больше 2. А то на что Вы дали ссылку - это бутафория чистой воды.
Готов поспорить с аргумаентами :) "Кто на новенько" :))
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715102
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я конечно дико извеняюсь
но меня почему то по ссылке в левом верхнем углу культурно отшивают
а хотелось бы взглянуть на класс
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715110
Для структур, на которые ссылается структура верхнего уровня, действительно сложно. Для каждой вложенной структуры нужно выделять память и получать на неё указатели - см. SYS(2600)
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715197
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видел очень неплохой класс для работы со структурами на universalthread.com. Там в качестве параметров для опредения формата вызова API передается просто строка в формате С++.
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715270
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafя конечно дико извеняюсь
но меня почему то по ссылке в левом верхнем углу культурно отшивают
а хотелось бы взглянуть на класс
У меня дал нормально скачать класс, но он размером 192К здесь во вложения не положишь.
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715441
Гость_xxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, что с вами ? :))
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32715695
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Гость_xxx

Если там про struct.vcx или про clsheap.prg - то они РАБОТАЮТ со структурами
любой сложности/вложенности. Ессно что они сами выделяют память, формируют
указатели и т.п. Причём делают это на чистом АПИ а не через SYS(2600).
Совсем другое дело, что в спрашиваемой функции имеется Callback-параметр вот
с этим в фоксе напряженка, и без fll увы никак :(

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Вызов функций win32 API
    #32717196
BNap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неплохой on-line справочник по Win API (адаптированный под VFP): www.news2news.com/vfp/index.php.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вызов функций win32 API
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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