Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.16;
Скачать: CL | DM;

Вниз

Проблема при создании DLL   Найти похожие ветки 

 
VICTOR_   (2002-04-30 16:51) [0]

Добрый день!

Создаю 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)


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

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


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

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


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

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


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

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


 
Axel ©   (2002-05-02 17:58) [5]

>Спасибо, но нужна реализацию
>создания 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 Library and Mark interface OLEAutomation
4) In TypeLibrary click IObj and in menu click NewMethod
5) Change Method1 on 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



Страницы: 1 вся ветка

Текущий архив: 2002.05.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-50017
oomneeq
2002-04-30 18:39
2002.05.16
DLL и переменная Application


1-50010
Демон
2002-04-30 19:24
2002.05.16
Как возвести число в степень????!!?


3-49869
Myrs
2002-04-19 12:26
2002.05.16
I/O Error 32


1-50024
123456
2002-05-01 15:40
2002.05.16
Графика


14-50096
Yuraz
2002-04-06 11:01
2002.05.16
Как доустановить Delphi5