![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Импорт библиотеки типов [D6, Win2k]
alxx © (2002-04-23 17:41:00)Как можно импортировать библиотеку типов IDL (сконвертировать в TLB) ?
troits (2002-04-24 14:52:00) [1]Нет, а почему должен компилироваться .tlb на этом файле?
Где
library ...
{
...
}
?
Там же только описание интерфейсов.
alxx (2002-04-24 14:08:00) [2]Дык, я же например, а на самом деле мне другой надо! mstask.idl
Romkin (2002-04-24 13:52:00) [3]Офигел?
Это уже у тебя определено в System.pas
Этот файл не нужен в Delphi
alxx (2002-04-24 13:24:00) [4]То ли я торможу, то ли нет.
Ну попробуйте например:
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992-1997.
//
// File: unknwn.idl
//
// Contents: IUnknown interface definition
//
//
//--------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright (C) Microsoft Corporation, 1992-1997.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
#ifndef DO_NO_IMPORTS
import "wtypes.idl";
#endif
[
local,
object,
uuid(00000000-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IUnknown
{
typedef [unique] IUnknown *LPUNKNOWN;
cpp_quote("//////////////////////////////////////////////////////////////////")
cpp_quote("// IID_IUnknown and all other system IIDs are provided in UUID.LIB")
cpp_quote("// Link that library in with your proxies, clients and servers")
cpp_quote("//////////////////////////////////////////////////////////////////")
HRESULT QueryInterface(
[in] REFIID riid,
[out, iid_is(riid)] void **ppvObject);
ULONG AddRef();
ULONG Release();
}
[
object,
uuid(00000001-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IClassFactory : IUnknown
{
typedef [unique] IClassFactory * LPCLASSFACTORY;
[local]
HRESULT CreateInstance(
[in, unique] IUnknown * pUnkOuter,
[in] REFIID riid,
[out, iid_is(riid)] void **ppvObject);
[call_as(CreateInstance)]
HRESULT RemoteCreateInstance(
[in] REFIID riid,
[out, iid_is(riid)] IUnknown ** ppvObject);
[local]
HRESULT LockServer(
[in] BOOL fLock);
[call_as(LockServer)]
HRESULT __stdcall RemoteLockServer(
[in] BOOL fLock);
}
Romkin (2002-04-24 13:05:00) [5]Tools -> Environment Options -> Type Library
Language: IDL поставить
Создать новую библиотеку типов, потом как сказано в Text вбить весь текст, все сразу появится, проверено
alxx (2002-04-24 12:54:00) [6]Не компилируется :(
Этот дурацкий MIDL.exe - почему-то не выдает мне TLB файла - зато, блин, понаделал хидеровских сиплюсплюсных. Как его заставить мне сделать TLB?
troits (2002-04-23 18:50:00) [7]Попробуй New-> Type Library и во вкладке text вбить твой IDL. Если скомпилируется - хорошо, если же нет, то попробуй Midl.exe