Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.05;
Скачать: 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 вся ветка

Текущий архив: 2004.03.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-12337
LaidBack
2004-02-25 14:56
2004.03.05
Как расположить панель выше главного меню?


1-12362
Elritar
2004-02-25 05:05
2004.03.05
Nested COM objects (непереводимый диалект)


6-12472
S@b@k@.
2003-12-28 18:40
2004.03.05
IP адрес


1-12387
Иванко
2004-02-23 13:52
2004.03.05
Проблема у RichEdit c Charset (Глюки WIN XP???)


1-12330
Budy
2004-02-20 05:22
2004.03.05
Про TImage