Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

наследник 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} нагляднее.


Наверх

Титульная страница Поиск, карта сайта Написать письмо