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

Вниз

Get Var By Name, получение переменной по имени.   Найти похожие ветки 

 
opopo   (2006-02-28 22:15) [0]

Господа, есть ли какая-либо возможность получать доступ к переменной, при зная при этом только её стринговое значение. Я понимаю, что видимо встроенной функции в дельфю нет, но может кто сталкивался с подобной проблеммой?


 
Desdechado ©   (2006-02-28 22:40) [1]

а как ты к ней еще доступ получаешь?
можно, конечно, на нее указатель повесить...
но ведь проще написать
a:=b;
чем
c:=@b;
a:=c^;


 
opopo   (2006-02-28 23:15) [2]

я видимо подразумеваю другое, например:


var
myvar:integer;
si:integer;

begin

si := getvarbyname("myvar");


реально такое организовать?


 
Pavia ©   (2006-02-28 23:22) [3]

opopo
нет


 
Джо ©   (2006-02-28 23:27) [4]

 TForm1 = class(TForm)
 private
   FMyIntProp: Integer;
   FMyStringProp: string;
 public
 published
   property MyStringProp: string read FMyStringProp write FMyStringProp;
   property MyIntProp: Integer read FMyIntProp write FMyIntProp;
 end;
...
uses TypInfo;
...
procedure TForm1.Button1Click(Sender: TObject);
var
 S: string;
 I: Integer;
begin

 SetPropValue(Self,"MyStringProp","stroka");
 SetPropValue(Self,"MyIntProp",2006);

 S := GetPropValue(Self,"MyStringProp");
 I := GetPropValue(Self,"MyIntProp");
 ShowMessageFmt ("%s,%d",[S,I]);
end;



 
Джо ©   (2006-02-28 23:35) [5]

Ну, если не свойства, а переменная, то есть и такой изврат:


var
 IntVariable: Integer;
...

procedure TForm1.Button1Click(Sender: TObject);
var
 Addr: PInteger;
 I: Integer;
begin
 IntVariable := 1990;

 Addr := GetProcAddress(0,"IntVariable");
 if Addr <> nil then
 begin
   I := Addr^;
   ShowMessageFmt ("%d",[I]);
 end;
end;

exports
 IntVariable;

end.


 
Германн ©   (2006-03-01 02:51) [6]

2 Джо ©
Перебор!


 
Джо ©   (2006-03-01 02:52) [7]

> [6] Германн ©   (01.03.06 02:51)
> 2 Джо ©
> Перебор!

Нормально! :0)


 
Германн ©   (2006-03-01 02:58) [8]

2 Джо ©   (01.03.06 02:52) [7]
Ты забыл классика жанра!
Нормально Георгий! Отлично Константин!


 
opopo   (2006-03-01 10:13) [9]

Джо, с переменной придумано просто класс, фантастика! Спасибо!


 
Джо ©   (2006-03-01 11:37) [10]

> [9] opopo   (01.03.06 10:13)
> Джо, с переменной придумано просто класс, фантастика! Спасибо!

Это однюдь не я придумал, так что не за что :)



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

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

Наверх




Память: 0.49 MB
Время: 0.029 c
1-1139832920
аноним
2006-02-13 15:15
2006.03.19
gdi+ и ActiveX


2-1141133176
sanich
2006-02-28 16:26
2006.03.19
Поставить курсор в таблице на определенное поле


1-1139909937
nastya
2006-02-14 12:38
2006.03.19
ActiveX -EIntfCastError


15-1140972179
Fl@sh
2006-02-26 19:42
2006.03.19
Materboard i810 driver


15-1140633926
xayam
2006-02-22 21:45
2006.03.19
Как отключить кэширование ISAPI расширения?