Вниз
Скачать: 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.041 c
8-1137160063
asd
2006-01-13 16:47
2006.06.18
Картинки gif


15-1148554071
Crazy manager
2006-05-25 14:47
2006.06.18
Практический вопрос о планирование в маленькой конторе


15-1148312666
Bogdan1024
2006-05-22 19:44
2006.06.18
квартиру в кредит


15-1148004791
dancer
2006-05-19 06:13
2006.06.18
Локалка


5-1133558900
Adil
2005-12-03 00:28
2006.06.18
Svyaz mejdu komponentami v odom unite




   Наверх