Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

Delphi и XML datapacket   Найти похожие ветки 

 
Viktor   (2004-10-25 13:56) [0]

Возникла следующая проблема.
На Delphi написана программа, которая в качестве базы использует
xml datapacket через ClientDataSet,перед у становкой программы ставится MIDAS.DLL.
При запуске программы она подключает файл базы с помощью следующего кода
  with cdsRazdPath do
  try
     if Active then Active:=false;
     FileName:=CuDir()+"dat\razdPath.xml";

{CuDir()-возвращает директорию в котор.находится программа
наличие,проверяется наличие"\" в конце}

     Active:=true;
  except
     MessageDlg("Не удалось прочитать  
          файл...",mtError,mbOK],0);
  end;

При запуске на некотрых компьютерах с WindowsXP, в данной процедуре возникает исключительная ситуация, причём файл razdPath.xml полностью очищается. Протестировать не получилось,
на всех наших машинах работает нормально.
Буду благодарен за любой совет.


 
Reindeer Moss Eater ©   (2004-10-25 14:06) [1]

 except
    MessageDlg("Не удалось прочитать  
         файл...",mtError,mbOK],0);
 end;


Если бы не было этого дурацкого блока обработки исключения, ты бы уже знал причину ошибки


 
sniknik ©   (2004-10-25 14:09) [2]

> Буду благодарен за любой совет.
замени безсмысленное
except
 MessageDlg("Не удалось прочитать файл...",mtError,mbOK],0);
end;
на
except
 on E: Exception do DoIfError();
 MessageDlg("Ошибка при чтении файла..."#10#13+
             E.ClassName+#10#13+
             E.Message
            ,mtError,mbOK],0);
end;
а то что это выдаст на той машине где возникает исключительная ситуация копируй сюда.


 
sniknik ©   (2004-10-25 14:10) [3]

сорри,  DoIfError(); надо убрать.


 
Viktor   (2004-10-25 15:31) [4]

Наконец-то пользователи прислали сообщение.
Программа выдаёт следующее:

EsafeArrayLocked Error
Variant or safe array is locked


 
DSKalugin ©   (2004-10-26 12:51) [5]

Ребята, извините что вмешиваюсь... А зачем вообще базу в XML формате хранить??? Это похоже на какое-то извращение или я отстал конкретно от прогресса. Где можно образумиться по этой теме и вычитать преимущества такого изощренного способа?
Просьба дать сылочки раз вы в этом направлении работаете.


 
sniknik ©   (2004-10-26 14:38) [6]

попробуй у себя на "чистую" машину поставь то же что клиентам даеш, но(!!!) не ставь midas.dll. ошибка не похожая получается?
или уже у клиента стоит более старая версия (как мне кажется ошибка именно с midas.dll)
как ты ее ставиш? если просто переписываеш, толку не будет. пусть руками положат ее из твоей установки (совместить с версией программы) в системный каталог (D:\WINNT\system32\ например)
и зарегистрируют
regsvr32.exe D:\WINNT\system32\midas.dll

после пробуют, что получилось. (???)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
4-1097233010
cerber1
2004-10-08 14:56
2004.11.21
Работа с HKEY_PERFORMACE_DATA


3-1098416333
sanek
2004-10-22 07:38
2004.11.21
как с помощью random выбрать запись из таблицы


6-1095054706
Alexis
2004-09-13 09:51
2004.11.21
отсутствуют ф-ции WSACreateEvent, WSAEventSelect в Winsock.pas


14-1098880794
Aldor
2004-10-27 16:39
2004.11.21
Ура! Еду в Новосибирск!


1-1100069141
YuriS
2004-11-10 09:45
2004.11.21
MDIForm





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский