Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
15-1148388558
AlexanderMS
2006-05-23 16:49
2006.06.18
Сжатие программы


2-1149170626
Alex7
2006-06-01 18:03
2006.06.18
Удаление ненужных модулей


3-1145891342
linx
2006-04-24 19:09
2006.06.18
Запретить чтение ячейки данных в таблице


6-1139696709
Razor
2006-02-12 01:25
2006.06.18
Ограничение скорости download


15-1148368995
Polevi
2006-05-23 11:23
2006.06.18
решил вот помочь





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский