Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-53496
Spy.RU
2004-02-05 08:05
2004.02.17
The project already contains a form or module named Unit2!!!


3-53409
Dimich1978
2004-01-26 16:28
2004.02.17
Как программно подключится к mdb через ADOTable


14-53694
mfender
2004-01-28 08:58
2004.02.17
Почему так тормозит форум?


4-53817
QUSTION
2003-12-12 12:19
2004.02.17
МОЖНО ЛИ В WIN2000/XP прятать прогу от CTRL+ALT+DELETE ?


3-53426
}|{yk
2004-01-26 11:25
2004.02.17
В какой системной таблице находятся названия таблиц?