Вниз
Скачать: CL | DM;

Опять компонент...   Найти похожие ветки 

← →
}|{yk ©   (2004-02-24 20:01) [0]

Пишу в программе
ShowMessage(ErrorCatcher1.ErrorLogName);
дальше трассирую код компонента

if (FileExists(self.FErrorLogName)) then
sl.LoadFromFile(self.FErrorLogName);
(если заменить FErrorLogName наа ErrorLogName не меняется) -
self.FErrorLogName="". Как такое может быть?


← →
}|{yk ©   (2004-02-24 20:02) [1]

Забыл написать ShowMessage(ErrorCatcher1.ErrorLogName);
выдает все правильно


← →
Anatoly Podgoretsky ©   (2004-02-24 20:09) [2]

Так три разные вещи
1. ErrorCatcher1.ErrorLogName
2. self.FErrorLogName
3. ErrorLogName


← →
}|{yk ©   (2004-02-24 20:13) [3]

Т.е ? Если я устанавливаю свойство в к.л. значение, я же пишу и во внутреннюю (приватную) переменную, значение которой должно соответствовать опубликованному.


← →
Anatoly Podgoretsky ©   (2004-02-24 20:24) [4]

Ну для начала тогда приведи объявления и часть кода где используется self

Если ErrorCatcher1 переменная, то все ее объявления во всех местах. Из приведенного кода нет никакой однозначности по идентификации этих субъектов, есть предположения, но это телепатия и поэтому я не буду ее публично выссказывать.


← →
}|{yk ©   (2004-02-25 10:55) [5]

В private
FErrorLogName: TFileName;
В published
property ErrorLogName: TFileName read FErrorLogName write FErrorLogName;

Функция
procedure TErrorCatcher.DoCollectInfo(E: Exception);
var sl: TStringList;
ClassThree: string; {строка с деревом классов}
time: string;
begin
time := FormatDateTime("_dd.mm.yyyy_hh.nn.ss", now);
ClassThree := E.ClassName;
ClassRef := E.ClassType;
while ClassRef.ClassParent <> nil do
begin
ClassRef := ClassRef.ClassParent;
ClassThree := ClassRef.ClassName + " => " + ClassThree;
end;
sl := TStringList.Create;
if (FileExists(self.FErrorLogName)) then
sl.LoadFromFile(self.FErrorLogName);
sl.add("--- This report is created by automated reporting system at " + time);
sl.add("Computer name is: [" + ComputerName + "]");
sl.add("User name is : [" + UserName + "]");
sl.Add("ClassThree : [" + ClassThree + "]");
sl.Add("Message : [" + E.Message + "]");
sl.Add(time);
sl.add("--- End of report ---------------------------------------");
sl.SaveToFile(self.FErrorLogName);
end;


← →
Anatoly Podgoretsky ©   (2004-02-25 11:20) [6]

ErrorCatcher1 в приведенном коде не наблюдается и по этому с чем ты работаешь остается неясным. В остальном в приведеном коде ошибки нет, только лишнее self. но это не ошибка

Вот после этого
sl := TStringList.Create;
сделай трассировочный вывод
ShowMessage(FErrorLogName);



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
4-12575
Magic_CT
2003-12-29 10:46
2004.03.05
Handle and filename


3-12249
Andrey V.
2004-02-08 10:29
2004.03.05
Работа с большим числом


6-12474
Vilux
2003-12-28 05:47
2004.03.05
Timeout в сокетах


3-12284
bespasian
2004-02-06 17:20
2004.03.05
Изменить цвет строки в DBGrid.


4-12570
intrSV
2003-12-31 14:33
2004.03.05
Панель задач




   Наверх