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

Подскажите в чём у меня ошибка - сам понять не могу.   Найти похожие ветки 

← →
Lucifer ©   (2004-02-05 12:50) [0]

with Data.Table do begin
for i:=0 to Cnt-1 do begin
MStream:=TMemoryStream.Create;
(FindComponent("EA"+inttostr(i+1)) as TEA).Edit.Lines.SaveToStream(MStream);

Active:=false;
SQL.Clear;
SQL.Add("INSERT INTO Table (idP, Blob, Flag)");
SQL.Add("VALUES (:idP, :Blob, :Flag)");

Params[0].AsInteger:=Data.ParentTbl.Fields[0].AsInteger;
Params[1].LoadFromStream(MStream, ftBlob);
if (FindComponent("EA"+inttostr(i+1)) as TEA).PB.Active then Params[2].AsString:="T" else Params[2].AsString:="F";
Open;
AnswStream.Free;
end;//for i:=0 to AnswerCnt-1 do begin
end;//with Data.TBLAnswer do begin

На стоке:
(FindComponent("EA"+inttostr(i+1)) as TEA).Edit.Lines.SaveToStream(MStream);
выдаёт ошибку доступа (AV).


← →
Sandman25 ©   (2004-02-05 12:57) [1]

1. FindComponent вернул nil
2. или вернул адрес объекта, не являющегося (наследником) TEA


← →
Тимохов ©   (2004-02-05 12:58) [2]

Компонент у тебя такой не находится просто...


← →
Тимохов ©   (2004-02-05 12:59) [3]


> 2. или вернул адрес объекта, не являющегося (наследником)
> TEA

Тогда была бы ошибка в "as"


← →
Sandman25 ©   (2004-02-05 13:02) [4]

[3] Тимохов © (05.02.04 12:59)

Согласен. Я обычно использую прямое преобразование, без as. Вот и спутал.


← →
icWasya ©   (2004-02-05 13:04) [5]

лучше делай так

var
EA:TEA;Component:TComponent Absolute EA;
...
for i:=0 to Cnt-1 do begin
C:=FindComponent("EA"+inttostr(i+1));
if C=Nil then Continue;
if not (C is TEA) then Continue;

//далее по тексту
EA.Edit.Lines.SaveToStream(MStream);
...


← →
Lucifer ©   (2004-02-05 13:49) [6]

Спасибо. Попробую.



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

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



Память: 0.46 MB
Время: 0.012 c
4-53806
gagarin
2003-12-13 12:40
2004.02.17
ini-файлы


1-53494
zzking
2004-02-05 21:47
2004.02.17
Пауза в исполнении программы


14-53747
Sergey_Masloff
2004-01-27 22:58
2004.02.17
humor


6-53670
pepper
2003-12-08 15:25
2004.02.17
Сетевой диск


7-53778
Ил_204
2003-12-02 13:08
2004.02.17
Com-порт, модем




   Наверх