Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
10-1120575391
Yurij-7
2005-07-05 18:56
2006.06.18
Word : Поиск и замена


2-1149239089
Trabl
2006-06-02 13:04
2006.06.18
Cannot focuse a disable or invisible window


15-1147874944
flad
2006-05-17 18:09
2006.06.18
как задать в командной строке "Wordpad file.txt" то что


1-1147611184
___Vic
2006-05-14 16:53
2006.06.18
вызов окна из длл


15-1148744593
bva
2006-05-27 19:43
2006.06.18
Delphi 2005




   Наверх