Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Импорт библиотеки типов [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо