LONG это не тип?
Я имел в виду "какие-то_константы"...
И почему бы не сделать, чтобы прога вставляла такие строки?
Эта... может тут собака зарылась? Не все типы данных записывались, сейчас поправил.
Не... не то...
Ну вот смотри... вот Кларионовский метод из полученного инк-файла:
Код: Выделить всё
OLEDragMode PROCEDURE(*OLEDragConstants psOLEDragMode),HRESULT,RAW,PASCAL,PROC
OLEDragMode2 PROCEDURE(OLEDragConstants psOLEDragMode),HRESULT,RAW,PASCAL,PROC
Видим тип OLEDragConstants. Поиск по всему файлу не дал предварительного описания этого типа. В оригинале:
Код: Выделить всё
typedef enum {
chOLEDragManual = 0,
chOLEDragAutomatic = 1
} OLEDragConstants;
т.е. это просто константы, но константы то нужно передавать как? Как какое-то целое значение (LONG/*LONG)? Да и сами константы хотелось бы видеть как :
Код: Выделить всё
OLEDragConstants_chOLEDragManual EQUATE(0)
OLEDragConstants_chOLEDragAutomatic EQUATE(1)
Кстати, предложение заменить "индекс к повторяющимся именам" на слова Get/Set, т.е.
Код: Выделить всё
GetOLEDragMode PROCEDURE(*LONG psOLEDragMode),HRESULT,RAW,PASCAL,PROC
SetOLEDragMode PROCEDURE(LONG psOLEDragMode),HRESULT,RAW,PASCAL,PROC
P.S.
Понятно?
Алексей
Видим тип OLEDragConstants. Поиск по всему файлу не дал предварительного описания этого типа.
Я тут exe-шник оставлял, он и OLEDragConstants, и OLEDropConstants фиксирует.
т.е. это просто константы, но константы то нужно передавать как? Как какое-то целое значение (LONG/*LONG)?
Вообще для чего я типы данных вынес с комментариями наверх? Для контроля.
Подразумевается, что есть один большой inc-файл со всеми этими описаниями типов, вроде windows.h. Если компилер матерится на неизвестный тип OLEDragConstants, мы его аккуратно в этот большой инк вписываем:
OLEDragConstants EQUATE(LONG).
Код: Выделить всё
OLEDragConstants_chOLEDragManual EQUATE(0)
OLEDragConstants_chOLEDragAutomatic EQUATE(1)
Это можно, но опять же к описанию интерфейса это относится слабо.
Код: Выделить всё
GetOLEDragMode PROCEDURE(*LONG psOLEDragMode),HRESULT,RAW,PASCAL,PROC
SetOLEDragMode PROCEDURE(LONG psOLEDragMode),HRESULT,RAW,PASCAL,PROC
Я так и делаю (ручками
, автоматизировать надо подумать, там неоднозначно... бывает и 3, и больше методов с одним именем, 2 Get'a, 3 Set'a
P.S.
Понятно?
Чем из-за ерунды препираться, ошибки б явные поискал. Я вот нашёл.
Михаил
Написал: ClaList(2)