Модератор: BV
[
uuid(242F2AA5-A33A-4D07-9107-6AF70B3CB234),
helpstring("test Type library (Created with TLBuilder v. 1.0)"),
version(1.0)
]
library testLib {
importlib("stdole2.tlb");
[helpstring("Parsing")]
module Parsing{
typedef struct FakeEntry {
char Length;
BSTR Fake;
} FakeEntry;
typedef struct ReplEntry {
char Symb;
char Count;
19: SAFEARRAY(FakeEntry) Fakes;
} ReplEntry;
typedef struct ReplTables {
SAFEARRAY(ReplEntry) Table;
long TableID;
} ReplTables;
}
}
Microsoft (R) MIDL Compiler Version 5.01.0164
Copyright (c) Microsoft Corp 1991-1997. All rights reserved.
Processing F:\Projects\test\test.idl
test.idl
Processing C:\PROGRA~1\MICROS~3\VC98\INCLUDE\oaidl.idl
oaidl.idl
Processing C:\PROGRA~1\MICROS~3\VC98\INCLUDE\objidl.idl
objidl.idl
Processing C:\PROGRA~1\MICROS~3\VC98\INCLUDE\unknwn.idl
unknwn.idl
Processing C:\PROGRA~1\MICROS~3\VC98\INCLUDE\wtypes.idl
wtypes.idl
F:\Projects\test\test.idl(19) : error MIDL2025 : syntax error: expecting a type specification near "FakeEntry"
F:\Projects\test\test.idl(20) : error MIDL2026 : cannot recover from earlier syntax errors; aborting compilation
Ругается на библиотеку Microsoft ActiveX Data Objects (на TBSTYLE_BUTTON).
Притензии не ко мне. Для компиляции tlb требуются библиотеки, в которых описаны стандартные типы и интерфейсы, например IDispatch. Ну и midl.exe, естественно. Если все это есть и в VC2008, не вижу причин, почему бы не прикрутить к ней.То, что установка требует VC++ - противненько.
Я не знаю другого способа.
[
uuid(44A03881-FB6C-4E5D-BB0F-E85AA13FFF13),
helpstring("DocView Type library (Created with TLBuilder v. 1.0)"),
version(1.0)
]
library DocViewLib {
importlib("stdole2.tlb");
const long ACTIVEOBJECT_STRONG = 0;
}
Microsoft (R) Type Library Generator Version 2.20.4230
Copyright (c) Microsoft Corp. 1993-1995. All rights reserved.
F:\Gisoft\docBrowser\DocViewLib.idl (9) : fatal error M0001: Syntax error near line 9 column 9: expected: keyword
tyomitch писал(а):А ещё есть mktyplib, который как midl, только ни от чего не зависит, и генерит менее глючные TLB.
Мэтт Курланд, один из разработчиков VB, советует использовать именно его для генерации TLB.
karlex писал(а):Я нашел его здесь: ...\Microsoft Visual Studio\VC98\Bin\
Т.е., судя по всему, он есть в комплекте с MS VC++ 6
Если это действительно он...
Приходится компилировать исходник отдельно - если делать это в папке с самим мидлом, то компиляция получается.midl : command line error MIDL1001 : cannot open input file oaidl.idl
MSXML.IDL
OAIDL.IDL
OBJIDL.IDL
OLEIDL.IDL
SERVPROV.IDL
UNKNWN.IDL
URLMON.IDL
WTYPES.IDL
C1.DLL
MSPDB60.DLL
CL.EXE
MIDL.EXE
Ну да, мне тоже пришло в голову, сейчас попробовал - заработалоAntonariy писал(а):ChDir?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34