Вниз
Скачать: 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.013 c
1-12417
atmospheric
2004-02-25 15:13
2004.03.05
TimeStampToDateTime ?


3-12299
Relaxxx
2004-02-09 14:23
2004.03.05
Возможно ли как-то связать два датаСета и отображать их...


1-12356
pasha_golub
2004-02-25 11:30
2004.03.05
Работа с Хинтами


1-12433
ximka
2004-02-16 20:00
2004.03.05
Запись на CD


1-12350
???
2004-02-22 10:16
2004.03.05
res файлы




   Наверх