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

Вниз

Dll не видит функции юнита   Найти похожие ветки 

 
Mr tray   (2006-06-01 22:32) [0]

Здорово, ребята-мастера. Я вот решил подключить к dll один юнит. Только как сделать, чтоб dll видел функции, объявленные в этом юните?
Ошибка вылезает в секции exports. В dll в секции uses мой юнит прописан, там ошибки нет. Все процедуры и функции в юните я написал в секции implementation. Никаких форм, ассоциированных с юнитом, нет. Никаких классов я там не объявляю.


 
Джо ©   (2006-06-01 22:34) [1]

> Ошибка вылезает в секции exports.

Она, наверное, безымянная?


 
Alx2 ©   (2006-06-01 22:35) [2]

А можно взглянуть на эту секцию?


 
DevilDevil ©   (2006-06-01 23:03) [3]

А в dll-модуле функции из этого[другого] модуля видятся?
Если нет, то ошибка в этом; в этом случае сделай объявления, например так:

unit MyUnit;

function SomeFunc(P1, P2 : integer) : boolean;

implementation

function SomeFunc(P1, P2 : integer) : boolean;
begin

//bla-bla-bla
Result := true;
end;


И ещё один вариант: в dll-модуле объяви функцию-эквивалент, которая возвратит результат по тем же параметрам из другого модуля...

<-- понять сложно, но можно :)


 
Mr tray   (2006-06-01 23:03) [4]

ошибка:
 undeclared identifier: <название функции>
секция uses в dll:
 supportunit in "supportunit.pas";
секция implementation в юните содержит только объявление и описание, если так можно выразиться, функций и процедур.
общая структура юнита у меня такова:
unit supportunit;

interface

uses
 sysutils {и др.};

const
{константы}
type
{типы}
var
{переменные}

implementation

function func(i:byte):boolean; {это пример просто}
begin
 result:=i>0;
end;

initialization
 {некие действия}

finalization
 {тоже действия, которые, как я понимаю, должны будут выполниться, когда мой dll будет закрыт}

end.


 
Mr tray   (2006-06-01 23:04) [5]

аааа. DevilDevil ©   (01.06.06 23:03) [3] спасибо. теперь ясно, в чем моя ошибка.


 
Джо ©   (2006-06-01 23:06) [6]

> [4] Mr tray   (01.06.06 23:03)

И где здесь объявление функций в секции interface?


 
evvcom ©   (2006-06-02 08:27) [7]


> тоже действия, которые, как я понимаю, должны будут выполниться,
>  когда мой dll будет закрыт

Не совсем так. Эти действия будут выполняться, когда именно этот модуль будет деинициализироваться.



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

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

Наверх




Память: 0.48 MB
Время: 0.079 c
1-1147597832
Monax
2006-05-14 13:10
2006.06.18
Как установить размер страницы при печати через Printer


8-1137748651
SergProger
2006-01-20 12:17
2006.06.18
Разложить TColor


2-1148980427
Spot-up
2006-05-30 13:13
2006.06.18
Немодальная форма


2-1149175295
Asail
2006-06-01 19:21
2006.06.18
Как скопировать контрол в другой parent?


2-1148990487
Std
2006-05-30 16:01
2006.06.18
Напоминалка