Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c