Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
3-53392
Alex-kosmonavt
2004-01-27 10:59
2004.02.17
Покрасить строчку в DBGrid


1-53599
gid
2004-02-07 18:04
2004.02.17
Как высвободить неиспользуемую оперативу?


1-53575
HF-Trade
2004-02-09 01:13
2004.02.17
Вроде простой вопрос, для знатаков, помогитееее... плиз.


1-53471
Creator
2004-02-06 13:37
2004.02.17
Как зделать процес System ???


11-53436
Vitek
2003-05-24 00:32
2004.02.17
Не могу поставить KOLIndy





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский