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

Вниз

Napisano vse pravilno, no ne rabotaet???   Найти похожие ветки 

 
pr0t0n ©   (2005-09-19 21:12) [0]

hi, mastera! Vobshem tema takay est ListView v nem 2,3.....(N), koroche luboe kolichestvo items, pri sobitii OnChange voznikaet oshibka "Acces violation at adress XXXXXXXX in modul Project.exe
Read of adres XXXXXXXX.
   Smisol procedure - pri videlenie itema, v Edit1,Edit2...Edit(N) zagrujautsya iz IniFila danie.
Koroche ya stavlu bryak na OnChange i viju:
  1.Prohodit perviy krug po procedure c danime ot starogo itema t.e
(est 2 itema A i B, Videlen B-on je stariy, Videlyaemiy A-on je noviy)
Edit1.text:=ini.readString(ListView1.selected.caption, "Name","");
na pervom kruge vse OK, ListView1.selected.caption=Staromu znacheniu.
 2.Nachinaetsya vtoroy krug, teper ListView1.selected.caption="";
i voznikaet oshibka.
 3. Posle oshibki, vse gruzit"sya na svoi mesta.

Poesnenie, ni kakih ciklov i t.p. u menya v procedure net, eto pro krugi.
Poluchaetsya chto ya,(komputer) 2 raza proceduru prohoju v otladchike.

Vopros:
a) S kakogo u meny vnachale gonit so starimi danimi, a potom s pustim ListView1.selected.caption???.
b) Kto nibud obesnite eto....... daje neznau kak obozvat.

zaranee Spasibo.


 
ANB ©   (2005-09-19 21:14) [1]

А по русски написать тоже самое религия не позволяет ?


 
Джо ©   (2005-09-19 21:14) [2]

Это диверсия.


 
DiamondShark ©   (2005-09-19 23:03) [3]

Свойство Selected может быть nil.
Надо проверять.

А почему не пользуешься параметром события?


 
pr0t0n ©   (2005-09-20 17:26) [4]

po russki ne pishu potomuchto net russkih bukv na klaviature,
Djo, prichm tut diversiya,
Svoystvo selekt v etom sluchae kakraz = nill, provereno.
Kak polzovatsya parametrom sobitiy???

vot ishodnik.
procedure TForm1.LWChange(Sender: TObject; Item: TListItem;
 Change: TItemChange);
var
 ini : TiniFile;
 dir : string;
begin
 Getdir(0,Dir);
 ini:=TiniFile.Create(dir+"\BASE\"+TW.Selected.Text+".bse");
 shifr(0,dir+"\BASE\"+TW.Selected.Text+".bse");
  try
    edName.Text:=Ini.ReadString(LW.Selected.Caption,"Name","");
    edLogin.Text:=Ini.ReadString(LW.Selected.Caption,"Login","");
    edPass.Text:=Ini.ReadString(LW.Selected.Caption,"Pass","");
    edAdres.Text:=Ini.ReadString(LW.Selected.Caption,"Adres","");
    edDate.Text:=Ini.ReadString(LW.Selected.Caption,"Date","");
  finally
    shifr(1,dir+"\BASE\"+TW.Selected.Text+".bse");
    ini.Free;
  end;
 end;
end;


 
Плохиш ©   (2005-09-20 17:31) [5]


> pr0t0n ©   (20.09.05 17:26) [4]
> po russki ne pishu potomuchto net russkih bukv na klaviature,

U teba russkih knopok netu, a u nas o4eredx k okulistu za mnogo mesacew wpered zanimatx nado.


 
zx ©   (2005-09-20 17:39) [6]

У меня есть русские кнопки! Недорого!!!


 
DiamondShark ©   (2005-09-20 18:05) [7]


> pr0t0n ©   (20.09.05 17:26) [4]

А проверить свойство на равенство nil перед обращением к нему что мешает?

А вообще, чтоб уяснить себе, что происходит в ListView при переходе между итемами, погоняй вот такую игрушку:


procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem; Change: TItemChange);
const
 BoolStr: array[boolean] of string = ("false", "true");
begin
 if Item <> nil then
   ShowMessageFmt("Item: %s"#13"Selected: %s"#13"Focused: %s", [Item.Caption, BoolStr[Item.Selected], BoolStr[Item.Focused]])
 else
   ShowMessage("nil");
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1126710094
Anfaenger
2005-09-14 19:01
2005.10.16
Function


14-1127469588
ilya39
2005-09-23 13:59
2005.10.16
VS .Net 2002


14-1127466173
stone
2005-09-23 13:02
2005.10.16
Трудности перевода или давайте говорить по-русски


1-1127666600
rusteam
2005-09-25 20:43
2005.10.16
прорисовать bmp в StringGrid в строго определенном месте


2-1126083541
worldmen
2005-09-07 12:59
2005.10.16
Форматирование даты.