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

Вниз

Обращение к переменным,объявленным в форме, из 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.053 c
15-1161605232
novill
2006-10-23 16:07
2006.11.12
На работе спорим: будет ли пылесос нагревать комнату меньше чем


3-1157915075
DiX
2006-09-10 23:04
2006.11.12
Базы данных: удаление записи


6-1151064203
WebSqlNeederr
2006-06-23 16:03
2006.11.12
Делаю програмно нажатие субмита в WebBrowser, как узнать что данн


2-1162129071
AlexanderMS
2006-10-29 16:37
2006.11.12
Hint к строке состояния (StatusBar).


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





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