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

Вниз

Переменная может не иницилизироваться?   Найти похожие ветки 

 
Ivan K   (2004-10-03 16:32) [0]

var CoDoc : CoDOMDocument;
     Doc : IXMLDOMDocument;
begin
 Doc := CoDoc.Create;
 Doc.load(FileName);
...
end;


 так вот CoDoc может не инициализироваться... Как избавиться от этого произвола?


 
Cobalt ©   (2004-10-03 17:25) [1]

Ой...
Спаисбо, рассмешили :)


 
Cobalt ©   (2004-10-03 17:26) [2]

AV - я прав? или что за ошибка?


 
Erik1 ©   (2004-10-04 10:39) [3]

Полная фигня написана, в переменой CoDoc содержится мусор или nil. При вызове конструктора который является класовым методом exception наверно небудет. Но делать так нельзя все зависит от случая пронесет или нет. Думаю, что эту конструкцию Delpfi даже неоткомпилирует. CoDOMDocument является функцией которая возвращает IXMLDOMDocument. Tак что:
Doc := CoDOMDocument;


 
Суслик ©   (2004-10-04 11:25) [4]

doc := CoXMLDocument.Create;
...


 
Ivan K   (2004-10-04 13:08) [5]

2 Cobalt
Смейтесь-смейтесь над чайниками! %)
Ничего, будет и наш праздник на вашей улице! ;)

Между прочим, не AV, а просто варнинг был - читайте внимательнее вопрос ;)

2 Erik1
Спасибо, ваш совет помог. А за объяснение спасибо отдельное (кстати, компилятор это дело компилял=) )

2 Суслик
А ваш совет - не помог... Несовместимость типов... Может это Delphi 5, а может... ну вобщем, сами попробуйте.

А вообще все-таки СПАСИБО ВСЕМ!


 
Secam   (2004-12-26 10:39) [6]


var CoDoc : CoDOMDocument;
    Doc : IXMLDOMDocument;
begin
Doc := CoDoc.Create;
Doc.load(FileName);
...
end;


Этот кусок кода относится к статье, посвященной XML в Delphi
http://edocs.phpclub.net/xml/Delphi_XML.html

Я столкнулся там с более серьезно заковыркой.
А именно:
Создал application поставил memo и кнопку, сделал событие. При нажатии на кнопку в memo загружается xml-код. Отлично работает.
А вот когда я попытался инициализировать IXMLDOMDocument в КОНСОЛЬНОМ приложении фиг..
При вызове CoDOMDocument.Create;
Exception: Не был произведен вызов CoInitialize.
После долгих экпериментов я выяснил, что если в консольное приложение в uses добавить forms и в начале вызвать application.initialize то в основном потоке можно инициализировать CoDOMDocument а вот в дочернем потоке никак не получается, выплевывает всё тот же Exception ... Уж не знаю что с ним делать..
Помогите специалисты !!!


 
Secam   (2004-12-26 10:49) [7]

По моемк решение нашлось ...
 ActiveX.CoInitialize(nil);
При создании каждого потока...


 
Secam   (2004-12-26 10:50) [8]

По моему решение нашлось ...
 ActiveX.CoInitialize(nil);
При создании каждого потока...



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

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

Наверх





Память: 0.46 MB
Время: 0.04 c
1-1125566083
Defunct
2005-09-01 13:14
2005.09.25
Как бороться с таким вот исключением?


14-1125863274
Кэш третьего уровня
2005-09-04 23:47
2005.09.25
сетевое администрирование


14-1125870749
Torry
2005-09-05 01:52
2005.09.25
Если кто помнит..


4-1122777656
GETWORD
2005-07-31 06:40
2005.09.25
Определение момента поного открытия MS Word


14-1125152413
Гоман
2005-08-27 18:20
2005.09.25
Вопрос про дефективный монитор





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский