![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
наследник TBlobField
TPersistent © (2014-08-22 14:33:00)Написал наследника от TBlobField:
TStrBlobField = class(TBlobField)
protected
procedure SetAsString(const Value: string); override;
{$IFNDEF NEXTGEN}
procedure SetAsAnsiString(const Value: AnsiString); override;
{$ENDIF !NEXTGEN}
procedure SetAsWideString(const Value: string); override;
end;
когда назначаю значение, в мой переопределенный обработчик SetAsString не заходит. Что не так делаю?
TStrBlobField(DataSet.FieldByName('blobstr')).AsString := 'test';
junglecat (2014-08-22 20:00:00) [1]http://delphiworld.narod.ru/base/create_table_and_fields.html
TPersistent (2014-08-22 15:27:00) [2]
> а реальный тип DataSet.FieldByName('blobstr') какой?
>
В этом и проблема, там TBlobField. не пойму как в DataSet его динамически создать.
делаю как-то так:
F := TStrBlobField.Create(DataSet);
try
F.DataSet := DataSet;
F.FieldName := 'strblob';
F.Name := 'sbstrblob';
DataSet.FieldDefs.Add(F.Name, ftBlob);
except
F.Free;
raise;
end;
когда потом обращаюсь к DataSet - AccessViolation. Что не так?
junglecat (2014-08-22 15:19:00) [3]а реальный тип DataSet.FieldByName('blobstr') какой?
KilkennyCat (2014-08-22 15:19:00) [4]а почему ! в окончании условия? и {$IFNDEF IOS} нагляднее.