Мне тут код прислали, попросил один студент помочь.
DM2->T_Binary->Append();
DM2->T_Binary->FieldByName("VarID")->AsInteger=NextID; DM2->T_Binary->FieldByName("UserID")->AsInteger=0;
/* Тут валится, при добавлении второй записи с сообщением: BLOB not opened.*/
StreamTable->Write(pms->Memory,pms->Size);
DM2->T_Binary->Post();
delete StreamTable;
Кто-нибудь сталкивался с подобным. Что интересно, в отдельном приложении этот код работает. А так нет.
Здравствуйте, a413, Вы писали:
A>Мне тут код прислали, попросил один студент помочь.
DM2->>T_Binary->Append();
DM2->>T_Binary->FieldByName("VarID")->AsInteger=NextID; DM2->>T_Binary->FieldByName("UserID")->AsInteger=0;
A>TBlobStream *StreamTable; A>StreamTable =(TBlobStream*) DM2->T_Binary->CreateBlobStream(DM2->T_Binary->FieldByName("Value"), bmReadWrite);
A>StreamTable->Position=0; pms->>Position=0; //Это MemoryStream
A>/* Тут валится, при добавлении второй записи с сообщением: BLOB not opened.*/ A>StreamTable->Write(pms->Memory,pms->Size);
DM2->>T_Binary->Post(); A>delete StreamTable;
A>Кто-нибудь сталкивался с подобным. Что интересно, в отдельном приложении этот код работает. А так нет.
Если убрать строку:
delete StreamTable;
то все начинает работать... Странно. Но ведь это неправильно!