Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];
Внизработа с XML в потоке Найти похожие ветки
← →
Bolodya (2009-01-31 18:23) [0]Здравствуйте уважаемые форумчане. Возник небольшой вопрос, без решения которого дальнейшая разработка программы невозможна.. Буду признателен за помощь, это мое первое приложение, которое работает с потоками
Метод Execute моего потока:
procedure PopConnectThread.Execute;
var
m: TIdMessage;
mc,p: integer;
pop : TPOP3Send;
origmess:String ;
popXML:TXMLDocument;
begin
CoInitialize(nil);
SetName;
if LoadConectionParameters then
begin
MainForm.ReadyFoUpdate:= false;
pop := TPOP3Send.Create;
popXML := TXMLDocument.Create(nil);
pop.TargetHost :=Host;
pop.TargetPort:=port;
pop.Username:=Username;
pop.Password:=Password;
if pop.Login then
begin
pop.Stat;
if pop.StatCount>0 then
for mc:=1 to pop.statCount do
begin
pop.Retr(mc);
origmess := StringSystem62toUnicodeString(DeleteSpaces(pop.FullResult.Text));
insert ("<?xml version="1.0" encoding ="windows-1251"?>",origmess,1);
popXML.LoadFromStream(TStringStream.Create(origmess));
popXML.Active := true;
beep(1000,1000);
if popXML.DocumentElement.ChildNodes["xstatex"].Text = "01" then state01(StringSystem62toUnicodeString(DeleteSpaces(origmess)));
end;
end;
pop.Logout;
pop.Free;
popXML.free;
end;
CoUnInitialize;
MainForm.ReadyFoUpdate := true;
end;
После того как прозвучал сигнал, на -if popXML.DocumentElement.ChildNodes["xstatex"].Text = "01"
вылетает исключительная ситуация..
Может есть какая-то особенность работы с XML в потоках?
← →
Сергей М. © (2009-01-31 18:44) [1]
> вылетает исключительная ситуация
Наверно, прямо так и говорит - "Я, исключительная ситуация, вылетаю" ?
Или это великий секрет, кто и куда там у тебя вылетает ?
Равно как и великий секрет, работает ли тот же код в основном потоке ?
← →
Bolodya (2009-01-31 19:00) [2]Текст ошибки -
Project raised exception class EAccessViolation with message "Access violation at address 00000000. Read of address 00000000. Process stoped
В основном потоке код работает
← →
Сергей М. © (2009-01-31 19:15) [3]И в основном этот код тоже не работает, не надо вводить людей в заблуждение.
В основном у тебя работает другой код, в котором объект класса TXMLDocument имеет владельца.
http://dn.codegear.com/article/29241
← →
Сергей М. © (2009-01-31 19:16) [4]http://www.sql.ru/forum/actualthread.aspx?tid=111696
← →
Сергей М. © (2009-01-31 19:16) [5]
> есть какая-то особенность работы с XML в потоках?
Нет.
← →
Bolodya (2009-01-31 20:01) [6]Сергей М., большое спасибо за помощь, проблема была действительно в том, что у объекта не было родителя.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c