На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Stream write error , При сохранении
    При попытке сохранения файла из ресурса вылетает Stream write error.
    Хотя раньше всё было нормально, а также заметил что эта ошибка вылетает периодически.
    В чём может быть проблема?
      Код - в студию!
        Есть функция:
        ExpandedWrap disabled
           
          void __fastcall TForm1::InstallBDE()
          {
             TResourceStream *bde_stream = new TResourceStream(0,"BDE_ONLY", "BDE" );
              bde_stream->SaveToFile(Path_Edit->Text+"BdeInst.dll");
              delete bde_stream;
           
              typedef DWORD (CALLBACK* LPRSP)(DWORD,DWORD);
              HINSTANCE hDLL;
              AnsiString BDE_DLL = Path_Edit->Text + "BdeInst.dll";
              hDLL = LoadLibrary(BDE_DLL.c_str());
              if(hDLL)
               {
                 LPRSP RSP = (LPRSP)GetProcAddress(hDLL, "DllRegisterServer");
                 if(RSP==NULL)
                  {
                    ShowMessage("Не найдена указанная процедура");
                    return ;
                  }
                 if (RSP != NULL) RSP(0, 1);
               }
           
              FreeLibrary(hDLL);
          }

        которая вытаскивает BdeInst.dll и запускает его

        в обработчике кнопки вызываеться эта функция - и получаем эррор(который может появляться через раз)
          Проверь в отладчике, что у тебя в Path_Edit->Text, значение bde_stream->Size (должно соответствовать размеру ресурса), мосмотри что лежит в bde_stream->Memory (должны быть байты как в ресурсе).

          А вообще, TResourceStream не имеет "своего" метода SaveToFile - он его унаследовал от TCustomMemoryStream и поэтому bde_stream->SaveToFile вовсе не добавит ресурс к длл-ке, как ты, имхо, надеешься, просто перепишет файл солдержимым своего Memory...

          З.Ы. Сообщение об ошибке еще может выскакивать, если твоя длл-ка используется при этом.
            Цитата


            bde_stream->SaveToFile вовсе не добавит ресурс к длл


            Мне надо извлечь из ресурсов
              Цитата
              Kamenev_D, 28.07.04, 13:49
              При попытке сохранения файла из ресурса вылетает Stream write error.
              - а это тогда о чем? :blink:
              Или в ресурсе сама dll-ка? Тогда первый абзац сообщения #4 (впрочем, и последний тоже м.б.) или, еще лучше, FAQ VC: Как засунуть файл в ресурсы и достать его оттуда
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0202 ]   [ 16 queries used ]   [ Generated: 15.06.25, 18:34 GMT ]