Paranoik |
Отправлено: 26.06.2003, 20:37 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Создаю поле так:
CODE | TFieldDef *pNewDef;
pNewDef = MemoryTable->FieldDefs->AddFieldDef();
pNewDef->Name = "p1";
pNewDef->DataType = ftString;
pNewDef->Size = 100;
| Вроде все ок... Вижу даже как MemoryTable->FieldDefs->Count увеличился...
Далее пытаюсь
CODE | MemoryTable->FieldByName("p1")->AsString = "123";
|
И пишет мол не найдено поле p1...
Пытался еще так
CODE |
MemoryTable->Fields->Fields[x]->AsString = "123";
|
Тоже бестолку...
В чем фикус? |
|
Admin |
Отправлено: 29.06.2003, 16:01 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Mem — это имя компонента типа TRxMemoryData
CODE |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Mem->FieldDefs->Clear();
TFieldDef *pNewDef = Mem->FieldDefs->AddFieldDef();
pNewDef->Name = "Dep";
pNewDef->DataType = ftString;
pNewDef->Size = 20;
pNewDef->Required = true;
pNewDef = Mem->FieldDefs->AddFieldDef();
pNewDef->Name = "Proisv";
pNewDef->DataType = ftBoolean;
Mem->Open();
Mem->Insert();
Mem->FieldByName("Dep")->AsString = "Отдел Бухгалтерия";
Mem->FieldByName("Proisv")->AsBoolean = false;
Mem->Post();
}
|
Все работает.
CODE |
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Mem->FieldDefs->Clear();
TFieldDef *pNewDef;
pNewDef = Mem->FieldDefs->AddFieldDef();
pNewDef->Name = "p1";
pNewDef->DataType = ftString;
pNewDef->Size = 100;
Mem->Open();
Mem->Insert();
Mem->FieldByName("p1")->AsString = "123";
Mem->Post();
}
|
и вот так тоже работает.
А дело может в отсутствии Mem->Insert(); Mem->Post(); ?
Отредактировано Admin — 29 Jun 2003, 16:06
|
|