|
|
|
Подскажите по работе с BlobStream...
|
|||
|---|---|---|---|
|
#18+
Подозреваю, что в программе, в какой-то из приведённых функций есть ошибка (при звершении программа виснет. Debuger показывает на код в импортируемой DLL...может память как-то не так высвобождается). Пожалуйста, подскажите: написано в Билдере Функция устанавливает картинку на форме: int __fastcall Tcard_window::SetUserFoto(int Mode) { TBlobField* FotoField; TADOBlobStream *BS; if (Mode == 0) { Image1->Picture->Assign(main_window->TMyCard[main_window->CurrentCard]->FPicture); return 0; } FotoField = (TBlobField*)main_window->ADOQuery1->FieldByName("foto"); BS = new TADOBlobStream ( FotoField, bmRead ); try { Image1->Picture->Bitmap->LoadFromStream(BS); } catch ( ... ) { //Image1->Picture->Bitmap->FreeImage(); } delete BS; return 0; } Функция записывает картинку в БД: void __fastcall Tcard_window::PutFotoToBase(void) { TBlobField* FotoField;// = (TBlobField*)ADOTable1->Fields->Fields[25]; TFileStream *fs; TADOBlobStream *BS; if(OpenPictureDialog1->Execute()) { main_window->ADOTable1->Open(); // -------------------------------------------- TLocateOptions Opts; Opts.Clear(); Variant LocVal = Variant(numer); main_window->ADOTable1->Locate("counter", LocVal, Opts); // -------------------------------------------- FotoField = (TBlobField*)main_window->ADOTable1->Fields->FieldByName("foto");//Fields[25]; fs= new TFileStream( OpenPictureDialog1->FileName, fmOpenRead); Image1->Picture->Bitmap->LoadFromStream(fs); main_window->ADOTable1->Edit(); BS = new TADOBlobStream ( FotoField, bmWrite ); try { BS->LoadFromStream(fs); } __finally { delete BS; delete fs; } main_window->ADOTable1->Post(); main_window->ADOTable1->Close(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2004, 21:18 |
|
||
|
Подскажите по работе с BlobStream...
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 09:15 |
|
||
|
Подскажите по работе с BlobStream...
|
|||
|---|---|---|---|
|
#18+
а что там , в поиске ?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 15:27 |
|
||
|
Подскажите по работе с BlobStream...
|
|||
|---|---|---|---|
|
#18+
//--------------------------------------------------------------------------- bool save_jpeg( TField *field, TJPEGImage *picture ) { assert(field); assert(picture); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { picture->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); blob->LoadFromStream(stream); } }catch(...){ return false;} delete stream; return true; } //--------------------------------------------------------------------------- bool load_jpeg( TField *field, TJPEGImage *picture ) { bool result = true; assert(field); assert(picture); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { blob->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); picture->LoadFromStream(stream); }else result = false; }catch(...){ result = false; } delete stream; return result; } //--------------------------------------------------------------------------- bool jpeg2file( TField *field, char *name_file ) { bool result = true; assert(field); assert(name_file); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { blob->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); stream->SaveToFile(name_file); }else result = false; }catch(...){ result = false; } delete stream; return result; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 01:01 |
|
||
|
Подскажите по работе с BlobStream...
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ! Но, к сожалению, я не обнаружил принципиальных отличий от моего кода... Если я не прав, поясните пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 08:24 |
|
||
|
Подскажите по работе с BlobStream...
|
|||
|---|---|---|---|
|
#18+
---я не обнаружил принципиальных отличий от моего кода... теоритически подход тот же. а практически мой вариант работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 23:31 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=457&tid=2035391]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
20ms |
get topic data: |
10ms |
get forum data: |
4ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 350ms |

| 0 / 0 |
