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

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

Проблема при создании DLL [D5, Win95/98]


VICTOR_ ©   (2002-04-30 16:51:00) 

Добрый день!

Создаю DLL.
library convert1;
uses
SysUtils,
Classes,
Windows,
Messages;
type
Obj = class
Function FTS(Number:Extended):AnsiString;
end;

{$R *.RES}

function Obj.FTS(Number:Extended):AnsiString;stdcall;
begin
Result := FloatToStr(Number);
end;

exports
Obj.FTS;
begin
end.
Пишет ошибки:
[Error] convert1.dpr(16): Declaration of "Obj.FTS" differs from previous declaration
[Error] convert1.dpr(22): Identifier "Obj" cannot be exported

Мне обязательно нужно экспортировать функцию, привязанную к классу.
Можно ли вообще сделать экспорт класса?
Мне при использовании DLL надо вызывать,например
Obj.FTS(60)


Axel   (2002-05-02 17:58:00) [1]

>Спасибо, но нужна реализацию
>создания ActiveX Library(dll),
>с ипользованием Type Lybrary(tlb)

In Delphi
1) File -> Close All
2) File -> New -> Other... -> ActiveX -> ActiveX Library
3) File -> New -> Other... -> ActiveX -> COM Object

>где в CoClass - хранится название того класса, функцию которого я с самого начала хотел достать,
>а в Interface - название самой функции

Class Name: Obj
Check: Include Type Libraryand Mark interface OLEAutomation
4) In TypeLibrary click IObjand in menu click NewMethod
5) Change Method1on FTS
In Parametrs: RETURN TYPE -> BSTR
Name -> Number
Type -> double (or if you want Extended transform it yourself)
Modifier -> []
Press REFRESH
6) In Unit1 tape your code for function TObj.FTS
7) Save all, reg your COM Server and apply it


VICTOR_   (2002-04-30 21:04:00) [2]

>Axel
Спасибо, но нужна реализацию
создания ActiveX Library(dll),
с ипользованием Type Lybrary(tlb)
где в CoClass - хранится название того класса, функцию которого я с самого начала хотел достать,
а в Interface - название самой функции
Заранее благодарен


Axel   (2002-04-30 17:47:00) [3]

1) See :
http://delphi.mastak.ru/articles/book/index.html
in Глава 09 - Динамически компонуемые библиотеки
Экспорт объектов из DLL
2) maybe COM technology helps you ?


VICTOR_   (2002-04-30 17:21:00) [4]

>Digitman
Возможно, я неправильно выразился
Мне нужно создать объект, который открывался б в другой программе через OLE и вызывалась функция этого объекта
Obj.FTS(60)


Digitman   (2002-04-30 17:00:00) [5]

Нет, нельзя. Только - процедуры и ф-ции, но не методы каких-то классов.


Наверх

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