![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить переменную в 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;
:)