Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
ВнизОпять компонент... Найти похожие ветки
← →
}|{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 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c