Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Обращение к переменным,объявленным в форме, из dll   Найти похожие ветки 

 
Msl   (2006-09-29 13:24) [0]

Уважаемые мастера, подскажите возможный вариант решения, если таковой имеется. В основной проге есть такое описание
TMainF = class(TForm)
.
.
.
 private
.
.
 public
   { Public declarations }
   IsCounts     : boolean;
  end;
Можно ли каким-то образом получить доступ к переменной IsCounts из dll(PlugIn) ?


 
Palladin ©   (2006-09-29 13:34) [1]

угу, передав CallBack функцию для получения значения


 
Игорь Шевченко ©   (2006-09-29 13:35) [2]


> Можно ли каким-то образом получить доступ к переменной IsCounts
> из dll(PlugIn) ?


Можно, если DLL скомпилирована с описанием класса TMainF и ей передан указатель на экземпляр этого класса.


 
zamtmn ©   (2006-09-29 14:03) [3]

>>Можно, если DLL скомпилирована с описанием класса TMainF и ей
>>передан указатель на экземпляр этого класса.
зачем? достаточно передать в длл указатель на IsCounts


 
Игорь Шевченко ©   (2006-09-29 14:15) [4]

zamtmn ©   (29.09.06 14:03) [3]

Вопрос почитать не получается ?


 
zamtmn ©   (2006-09-29 14:23) [5]

2 Игорь Шевченко ©
>>Можно ли каким-то образом получить доступ к переменной IsCounts из dll(PlugIn)?
человек хочет получить доступ к IsCounts:boolean, а не к форме, если в dll пихать все описания типов используемые в программе, то PlugIn`ы перестанут быть маленькими


 
Игорь Шевченко ©   (2006-09-29 14:29) [6]

Удалено модератором


 
zamtmn ©   (2006-09-29 14:43) [7]

Удалено модератором


 
oxffff ©   (2006-09-29 14:45) [8]

Boolean(Pointer(DWORD(self)+TMainF.InstanceSize-sizeof(boolean))^)

:)


 
Игорь Шевченко ©   (2006-09-29 14:51) [9]

zamtmn ©   (29.09.06 14:43) [7]

Я отвечал на вопрос "Обращение к переменным,объявленным в форме, из dll "

Дальнейшую дискуссию с тобой считаю нецелесообразной.


 
oxffff ©   (2006-09-29 14:58) [10]

Игорь Шевченко ©   (29.09.06 14:51) [9]
Постойте, постойте.

А как поступит Игорь Шевченко, если TMainF изменится.

Игорь Шевченко будет что делать? перекомпилировать PlugIn ?

Игорь Шевченко смотрите внимательно, что написано PlugIn.

Дальнейшую дискуссию с Игорь Шевченко считаю нецелесообразной


 
zamtmn ©   (2006-09-29 15:02) [11]

Удалено модератором


 
Elen ©   (2006-09-29 15:10) [12]

Я не пойму чего Вы все так завелись? как по вашему это не решение :

library Project2;
uses
 SysUtils,
 Classes;

{$R *.res}

//********** FUNCTION **********
function bool(var b:boolean):boolean;
begin
 b:=not b;
end;
//********** END FUNCTION ******

 exports bool;
begin
end.


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
 mbb:boolean;
   { Public declarations }
 end;
function bool(b:boolean):boolean; external "project2.dll";
var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
mbb:=true;
bool(mbb);
 caption:=BoolToStr(mbb);

end;

end.

Зачем обязательно передавать в DLL класс формы?
(Теперь я знаю как расшифровывается LMD-Tools, спасибо zamtmn)


 
Palladin ©   (2006-09-29 15:13) [13]


> oxffff ©   (29.09.06 14:58) [10]

Нет, я думаю, скорее всего Игорь Шевченко, будет работать через интерфейсы. :)


 
zamtmn ©   (2006-09-29 15:18) [14]

>>function bool(b:boolean):boolean; external "project2.dll";
это не для плагинов. и таким образом dll доступа к mbb не имеет


 
Elen ©   (2006-09-29 15:26) [15]

А ну да... Оффтоп... тогда поинтерами вполне можно



Страницы: 1 вся ветка

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.038 c
9-1138389837
cava
2006-01-27 22:23
2006.11.12
картинки


2-1161798696
Z0$r@H4!G
2006-10-25 21:51
2006.11.12
Richedit поиск


2-1162117932
Серый
2006-10-29 13:32
2006.11.12
Memo,ListBox,ComboBox


2-1161782928
vitv
2006-10-25 17:28
2006.11.12
lookup в гриде


2-1162125949
Проггер из библиотеки
2006-10-29 15:45
2006.11.12
TMemoryStream и расход памяти