Главная страница
    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.48 MB
Время: 0.048 c
15-1161663273
MBo
2006-10-24 08:14
2006.11.12
Альтернативный путь развития Delphi


10-1125421545
Barvetal
2005-08-30 21:05
2006.11.12
Как сделать локальный СОМ-сервер(ехе-файл) невидимым?


3-1158223294
RomanH
2006-09-14 12:41
2006.11.12
Открыть все НД в datamodule


4-1151144061
Ketmar
2006-06-24 14:14
2006.11.12
scrollbar w COMBOBOX на диалоге -- нету %-(


15-1161759470
Курдль
2006-10-25 10:57
2006.11.12
Какие именно задачи следует решать с помощью ХП?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский