
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.02.2004, 21:18
|
|||
|---|---|---|---|
|
|||
Подскажите по работе с 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(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2004, 09:15
|
|||
|---|---|---|---|
Подскажите по работе с BlobStream... |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2004, 15:27
|
|||
|---|---|---|---|
|
|||
Подскажите по работе с BlobStream... |
|||
|
#18+
а что там , в поиске ?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2004, 01:01
|
|||
|---|---|---|---|
Подскажите по работе с 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; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2004, 08:24
|
|||
|---|---|---|---|
|
|||
Подскажите по работе с BlobStream... |
|||
|
#18+
Спасибо за ответ! Но, к сожалению, я не обнаружил принципиальных отличий от моего кода... Если я не прав, поясните пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2004, 23:31
|
|||
|---|---|---|---|
Подскажите по работе с BlobStream... |
|||
|
#18+
---я не обнаружил принципиальных отличий от моего кода... теоритически подход тот же. а практически мой вариант работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2035391]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 296ms |

| 0 / 0 |
