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

Снова про With   Найти похожие ветки 

 
Kostafey ©   (2007-05-10 11:03) [0]

Была про это ветка, но как-то я ее несерьезно воспринял.
Видимо зря:


type
 TExportToWord = class(TObject)
 private
   ...
   TemplateFileName: string;
 public
   procedure AddTemplate(TemplateFileName: string);
   ...
 end;

implementation

procedure TExportToWord.AddTemplate(TemplateFileName: string);
begin
 Self.TemplateFileName := TemplateFileName;
 W.Documents.add(Self.TemplateFileName);
end;

...
 var ExportToWord: TExportToWord;
...

 ExportToWord := TExportToWord.Create;
 ExportToWord.AddTemplate(TemplateFileName); //Документ создается на основе шаблона
 showmessage(ExportToWord.TemplateFileName); //Все OK, видим строку - путь к файлу шаблона
                         
//Но стоит воспользоваться with:
 ExportToWord := TExportToWord.Create;
 with ExportToWord do
 begin
   AddTemplate(TemplateFileName); //Создается пустой документ
   showmessage(TemplateFileName); //Видим пустую строку
 end;

Почему так?


 
Johnmen ©   (2007-05-10 11:18) [1]

Потому, что это =
ExportToWord.AddTemplate(ExportToWord.TemplateFileName)
showmessage(ExportToWord.TemplateFileName);


 
Kostafey ©   (2007-05-10 11:27) [2]

> ExportToWord.AddTemplate(ExportToWord.TemplateFileName)

Ых !? Да. Верно!
 
with ExportToWord do
 begin
   AddTemplate(TemplateFN);
   showmessage(TemplateFileName);
 end;

И все заработало.
Спасибо !


 
Desdechado ©   (2007-05-10 12:50) [3]

Это к тому, что не стоит называть параметры, свойства и локальные переменные одинаково.



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

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



Память: 0.45 MB
Время: 0.035 c
15-1177314606
cj
2007-04-23 11:50
2007.05.27
NTFS-DOS


15-1177441862
koha
2007-04-24 23:11
2007.05.27
Реально, занимается ли кто фотографиями?


2-1178534180
=Teddy=
2007-05-07 14:36
2007.05.27
Как установить фокус в Stringgride для конкретной ячейке?


15-1177467150
Slider007
2007-04-25 06:12
2007.05.27
С днем рождения ! 25 апреля


2-1178520778
Doom-2
2007-05-07 10:52
2007.05.27
Как в ListBox строки местами менять?




   Наверх