-
Laguna © (15.11.11 22:39) [0]Подскажите , почему два варианта не одинаково работают? Если выполняю так, все нормально.
DM1.BalansQueryDomFoto2.SaveToFile(TempDir + 'vid2.bmp');
Чтобы объеденить десять одинаковых операций в один блок, выполняю следующую замену:
for i := 1 to 10 do
DM1.BalansQuery.FieldByName(Field_A[i]).SaveToFile(TempDir + 'vid2.bmp');
Во втором варианте ошибка, мол SaveToFile - неизвестно что такое. Field_A[] - строковый массив названий полей.
Аналогичная ситуация
1) if BalansQuery.FieldByName(Field_A[i]).BlobSize <> 0 then ...
пришлось заменить на
2) if not BalansQuery.FieldByName(Field_A[Tag]).IsNull then ...
В чем ошибка ? -
Ты продолжай, рассказывай..
Иногда в процессе вопросов, задаваемых в зенит, находится самостоятельно ответ. -
Германн © (16.11.11 00:03) [2]
> Во втором варианте ошибка, мол SaveToFile - неизвестно что
> такое.
У TField нет метода SaveToFile. Он есть только у некоторых его наследников. -
Laguna © (16.11.11 00:29) [3]
> У TField нет метода SaveToFile. Он есть только у некоторых
> его наследников.
Я это у же понял. А как мне сделать правильно, чтобы получить задуманное? -
Laguna © (16.11.11 00:46) [4]Кажется я понял. Нужно просто приведение выполнить:
TBlobField(BalansQuery.FieldByName(Field_A[i])).SaveToFile(TempDir + 'vid2.bmp'); -
Германн © (16.11.11 00:51) [5]
> Laguna © (16.11.11 00:46) [4]
>
> Кажется я понял. Нужно просто приведение выполнить:
А проверку на тип поля будет Пушкин делать? Или Гоголь? :) -
Laguna © (16.11.11 09:59) [6]Наверное в качестве хорошего тона это нужно делать, но в данном случае я оперирую с конкретным типом.
-
Anatoly Podgoretsky © (16.11.11 10:31) [7]
> Наверное в качестве хорошего тона это нужно делать, но в
> данном случае я оперирую с конкретным типом.
У тебя еще все впереди. -
RWolf © (16.11.11 11:14) [8]
> [4]
это пишется по-другому:(BalansQuery.FieldByName(Field_A[i]) as TBlobField).SaveToFile(TempDir + 'vid2.bmp');
по крайней мере, будет внятная диагностика вместо AV, когда подвернётся поле не того типа. -
Laguna © (16.11.11 12:42) [9]
> RWolf © (16.11.11 11:14) [8]
Спасибо, взял на заметку.