На одном из компьютеров стала возникать такая проблема: При проверке пачек пишет что-то типа "Невозможно создать Com объект для проверки адреса"
Пользователь, конечно "ничего не делал"... "само так начало"...
1. Не используя CPSNXML.dll, т.е. если просто запустить CheckXML.exe - все проверяет нормально.
2. Вирусов нет
3. Версия CheckXML последняя
4. Пользователь Администратор
Путь к dll вбит прямо в код, что не красиво, но надежно берет dll из нужного места. Т.е. CPSNXML.dll - тоже не старый:
......
hMod := LoadLibrary('C:\Program Files\CheckXML\CPSNXML.dll');
if hMod <> 0 then
begin
try
@cInitLib := GetProcAddress(hMod, 'cpsnInitLib');
@cValidate := GetProcAddress(hMod, 'cpsnValidate');
@cValidate2 := GetProcAddress(hMod, 'cpsnValidateZ');
@cFreeLib := GetProcAddress(hMod, 'cpsnFreeLib');
if @cInitLib <> nil then
begin
if cInitLib(Handle, 'C:\Program Files\CheckXML\') = 0 then
begin
if SelectedRows.Count = 0 then
begin
if not FileExists(system_options.packs_path_save + '\' + xml_file_name) then
ShowMessage('Файл пачки '+DBGrid.DataSource.DataSet.FieldByName('pack_numb er').AsString+' не найден: ' + system_options.packs_path_save + '\' + xml_file_name)
else
begin
cValidate(PAnsiChar(system_options.packs_path_save + '\' + xml_file_name), eCount, wCount);
ShowMessage('Ошибок: ' + IntToStr(eCount)+ '; Предупреждений: ' + IntToStr(wCount));
......
Проблема только на одном из нескольких компьютеров, т.е. вроде бы всё то же самое на других и все работало и работает. А вот на одном возникла эта проблема. Решить ее не удалось... может подскажите, что делать? В чем может быть проблема?
Пользователь, конечно "ничего не делал"... "само так начало"...
1. Не используя CPSNXML.dll, т.е. если просто запустить CheckXML.exe - все проверяет нормально.
2. Вирусов нет
3. Версия CheckXML последняя
4. Пользователь Администратор
Путь к dll вбит прямо в код, что не красиво, но надежно берет dll из нужного места. Т.е. CPSNXML.dll - тоже не старый:
......
hMod := LoadLibrary('C:\Program Files\CheckXML\CPSNXML.dll');
if hMod <> 0 then
begin
try
@cInitLib := GetProcAddress(hMod, 'cpsnInitLib');
@cValidate := GetProcAddress(hMod, 'cpsnValidate');
@cValidate2 := GetProcAddress(hMod, 'cpsnValidateZ');
@cFreeLib := GetProcAddress(hMod, 'cpsnFreeLib');
if @cInitLib <> nil then
begin
if cInitLib(Handle, 'C:\Program Files\CheckXML\') = 0 then
begin
if SelectedRows.Count = 0 then
begin
if not FileExists(system_options.packs_path_save + '\' + xml_file_name) then
ShowMessage('Файл пачки '+DBGrid.DataSource.DataSet.FieldByName('pack_numb er').AsString+' не найден: ' + system_options.packs_path_save + '\' + xml_file_name)
else
begin
cValidate(PAnsiChar(system_options.packs_path_save + '\' + xml_file_name), eCount, wCount);
ShowMessage('Ошибок: ' + IntToStr(eCount)+ '; Предупреждений: ' + IntToStr(wCount));
......
Проблема только на одном из нескольких компьютеров, т.е. вроде бы всё то же самое на других и все работало и работает. А вот на одном возникла эта проблема. Решить ее не удалось... может подскажите, что делать? В чем может быть проблема?
Комментарий