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

Вниз

Можно ли изменить параметр FVisible в привате класса другого юнит   Найти похожие ветки 

 
ProV   (2006-10-28 05:53) [0]

юнита? И если да, то как?
Нужно, чтобы не вносить своих изменений в исходник проекта с открытым исходником лежащим на CVS и часто оттуда обновляемым.


 
vidiv ©   (2006-10-28 07:52) [1]

Можно...
вычислить смещение и записать в память... но это некрасиво!


 
ЮЮ ©   (2006-10-28 08:46) [2]


> Нужно, чтобы не вносить своих изменений в исходник проекта
> с открытым исходником лежащим на CVS и часто оттуда обновляемым

Добавь protected св-во для изменения этого поля. И залей туда.Пусть все пользуются.

А может уже есть метод для его изменения?


 
vidiv ©   (2006-10-28 08:54) [3]

program Project2;

{$APPTYPE CONSOLE}

type

   TMyClass=class(TObject)
       private
         FVisible: boolean;
       public
         constructor Create;
         procedure Show;
   end;

   PBoolean = ^Boolean;

{ TMyClass }

constructor TMyClass.Create;
begin
   FVisible := false;
end;

procedure TMyClass.Show;
begin
   Writeln(FVisible);
end;

var Obj: TMyClass;
begin
   Obj := TMyClass.Create;
   Obj.Show;
   PBoolean(integer(Obj)+4)^ := true;
   Obj.Show;
   Obj.Free;
   readln;
end.


 
Anatoly Podgoretsky ©   (2006-10-28 13:01) [4]

Грязным хаком пахнет


 
vidiv ©   (2006-10-28 18:10) [5]

А вот вызвать метод - это уже сложнее... Самое сложное найти его адрес в памяти... Хотя это для меня, для когото может и просто =)


 
MsGuns ©   (2006-10-28 18:16) [6]

>Anatoly Podgoretsky ©   (28.10.06 13:01) [4]
>Грязным хаком пахнет

Я бы даже сказал "смердит"



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

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

Наверх




Память: 0.48 MB
Время: 0.035 c
1-1160182107
Doma
2006-10-07 04:48
2006.11.19
Как задать порядок присвоения св-в компоненты при создании?


4-1152189062
Серге И
2006-07-06 16:31
2006.11.19
Определение температуры на материнской плате с двумя процессорами


15-1162499997
TUser
2006-11-02 23:39
2006.11.19
IE 7


2-1162281234
vitv
2006-10-31 10:53
2006.11.19
QReport-документация


3-1158810978
Merko2005
2006-09-21 07:56
2006.11.19
Как вычислить кол-во месяцев