Главная страница
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.021 c
1-53643
VID
2004-02-06 17:08
2004.02.17
Определить необходиму высоту для RichEdit


14-53718
ИМХО
2004-01-27 16:41
2004.02.17
По поводу


3-53379
Пубертанец
2004-01-28 09:54
2004.02.17
Как в Firebird в хранимой процедуре обратиться к таблице по имени


3-53393
Janbolat
2004-01-27 08:54
2004.02.17
Печать из базы


14-53749
Baloo
2004-01-28 10:47
2004.02.17
Числовое значение даты