Вниз
Скачать: CL | DM;

Amazing bug ?   Найти похожие ветки 

← →
Dodfr   (2005-08-11 12:41) [0]

In this code, when I do form1.form.left:=PosX[0]; the PosX[1] changes and get PosX[0] value ?!? how is it possible as I do not write any value inside it after filling array once ???

const
 MaxFormView=4;

type
 _INISettings = record
   OnTop:integer;
   FontName:string;
   FontSize:integer;
   PosX:array[0..MaxFormView] of integer;
   PosY:array[0..MaxFormView] of integer;
 end;
 INISettings = _INISettings;
 PINISettings = ^INISettings;

var
 Pini:INISettings;

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
var
 i:integer;

begin
   for i:=0 to MaxFormView do
   begin
     Pini.PosX[i]:=str2int(ini.ReadString(ConstSettings,"PosX"+int2str(i),"0"));
     Pini.PosY[i]:=str2int(ini.ReadString(ConstSettings,"PosY"+int2str(i),"0"));
   end;

   Form1.form.left:=Pini.PosX[0];
   // now PosX[1]=PosX[0] !!!
   Form1.form.Top:=Pini.PosY[0];
   // now PosY[1]=PosY[0] !!!

  If I copy/past the for/next and .left/top block a second time just below this code, array are refilled and this time they don"t change after the form.left end form.top !!!


← →
Dodfr   (2005-08-11 12:47) [1]

If I change location of PosX and PosY in record definition it do not help.

If I simply fill arrays with this, it do not help :

   for i:=0 to MaxFormView do
   begin
     Pini.PosX[i]:=i;
     Pini.PosY[i]:=i;
   end;

If I do some i2:=Pini.PosX[0] there is no bug.

How the form1.form.left:=PosX[0] could copy value of PosX[0] inside PosX[1] ???



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.041 c
2-1142950916
RomanH
2006-03-21 17:21
2006.04.02
MDI Окна


3-1139314557
Trap
2006-02-07 15:15
2006.04.02
real-time обработка данных


15-1141762238
parovoZZ
2006-03-07 23:10
2006.04.02
Подсчитать кол-во строк на MySQL.


2-1142847980
SEMYONov
2006-03-20 12:46
2006.04.02
Список пользователей + прозрачность


1-1141048869
msgipss
2006-02-27 17:01
2006.04.02
Быстрый экспорт excel документа в html




   Наверх