Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определить переменную в DLL?


Johnnnnn ©   (2008-12-02 00:22:00) 

Есть такая DLL к примеру:
library Project1;
uses
 SysUtils,
 Classes;
var
x, y:integer;
function calc():integer;
begin
calc:=x+y;
end;
exports
calc;
{$R *.res}
begin
end.

вопрос: Как из своей программы потом задать значение x и y?


Германн   (2008-12-02 00:49:00) [1]

для загружае щего их приложения


Johnnnn   (2008-12-02 00:49:00) [2]

Задумался тут и подумал что будет просто дополнительная функция в ней через которую буду заранее определять переменную. Вопрос закрыт спасибо.


Германн   (2008-12-02 00:48:00) [3]


> Johnnnn   (02.12.08 00:43) [3]
>
> Не, ну можно конечно переписать процедуры которые хочу в
> ету dll запихать, но поскольку в етом не разбираюсь то решил
> уточнить, можно ли както без того чтобы переделывать обойтись,
>  тоесть есть ли возможность определить переменную в dll
> из свое программы, ну мне так удобнее вообщем.
>

DLL так устроены, что для загружаемого их приложения существуют только экспортируемые ими (dll) фукнции. Всё остальное - внутреннее дело dll.


Johnnnn   (2008-12-02 00:46:00) [4]


> А что мешает вызывать функцию calc с параметрами?


Да можно конечно. а что прямого пути нет чегото типа

MyDll.x:=10;
MyDll.y:=20;

?


Johnnnn   (2008-12-02 00:43:00) [5]

Не, ну можно конечно переписать процедуры которые хочу в ету dll запихать, но поскольку в етом не разбираюсь то решил уточнить, можно ли както без того чтобы переделывать обойтись, тоесть есть ли возможность определить переменную в dll из свое программы, ну мне так удобнее вообщем.


{RASkov}   (2008-12-02 00:39:00) [6]

> [0] Johnnnnn   (02.12.08 00:22)
> Как из своей программы потом задать значение x и y?

Параметрами передать в calc? Только тут возникает вопрос а нужны ли они? ...глобальные переменные


Германн   (2008-12-02 00:36:00) [7]

А что мешает вызывать функцию calc с параметрами? Или добавить в секцию exports функцию/процедуру типа

function TrySetXY(Newx, Newy : Integer): boolean;
begin
 Result:=False;
 x:=Newx;
 y:=Newy;
 Result:=True;
end;

:)


Наверх

Титульная страница Поиск, карта сайта Написать письмо