Главная страница
    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.049 c
15-1161347898
Crazybeaver
2006-10-20 16:38
2006.11.12
Подскажите с сайт с бесплатной музыкой mp3


11-1137965443
Flea
2006-01-23 00:30
2006.11.12
Hottrack для TabControl


6-1150616634
Windows
2006-06-18 11:43
2006.11.12
Сокеты и Делфи


3-1158129656
Дед Маздай
2006-09-13 10:40
2006.11.12
Чем бы заменить suspend?


2-1162137894
vvh
2006-10-29 19:04
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский