Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TXMLDocument не работает в DLL


22b ©   (2007-01-18 06:42:00) 

вообщем нужно реализовать парсер XML  в DLL и я решил воспользоваться TXMLDocument (D7)
имею следуюющий код:

URLDownloadToFile(nil,PChar(' http://localhost/parser/command.xml'),PChar('123.xml'),0,nil);
 WinExec('cmd.exe',SW_NORMAL);
 XMLDocument:=TXMLDocument.Create('123.xml');
 XMLDocument.LoadFromFile('123.xml');
 WinExec('cmd.exe',SW_NORMAL);
   Root := XMLDocument.DocumentElement;
   if (root.NodeName='COMMAND') then
     begin
       WinExec('calc.exe',SW_NORMAL);
       COMMAND:=root.Attributes['name'];
       if (COMMAND='GETANDEXECUTE') then
         begin


Загружаю из EXE ф-ией LoadLibrary EXE
Вылетает сразу после скачкb файла, может я просто как то не правильно пытаюсь создать TXMLDocument?

PS Exec'и расставлены как чекпоинты ))) (смыла в них нет).


22b   (2007-01-19 13:57:00) [1]

И еще в D7 нет ф-ии coinitialize но есть coinitializeEx (или я что то путаю?)


22b   (2007-01-19 13:55:00) [2]

Сделал действительно не произведен вызов coinitialize, как его вызвать, что нужно подключить?.....
Спасибо за терпение к моим вопросам......


Аноним   (2007-01-18 23:43:00) [3]

скорее всего, не был произведен вызов coinitialize ^-)
> 22b
А почему не воспользоваться отладчиком? Во первых, не надо будет писать всякие глупости типа WinExec, во вторых, ответ на вопрос
"а что же случилось" сразу станет очевидным, и ответ на вопрос "что делать" тоже


Reindeer Moss Eater   (2007-01-18 09:45:00) [4]

URLDownloadToFile(nil,PChar(' http://localhost/parser/command.xml'),PChar('123.xml'),0,nil);
....
XMLDocument:=TXMLDocument.Create('123.xml');


Это просто чума.


wal   (2007-01-18 08:41:00) [5]


> WinExec('cmd.exe',SW_NORMAL);
> WinExec('calc.exe',SW_NORMAL);    

Это такой способ отладки?


Nostradamus   (2007-01-18 06:55:00) [6]

Используй function LoadXMLDocument(const FileName: WideString): IXMLDocument;


Наверх

Титульная страница Поиск, карта сайта Написать письмо