Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

Access violation   Найти похожие ветки 

 
syte_ser78 ©   (2005-10-25 12:25) [0]

Делаю следующим образом

DPR
--------
begin
     Application.Initialize;
     frm_resourse:=Tfrm_resourse.Create(Application);
     frm_resourse.programm_path:=ExtractFilePath(Application.ExeName);
     frm_resourse.load_setting;

.....
--------

frm_resourse.pas
----------
 public
   ......
   load_setting:procedure;
   programm_path:string;
 end;

.......

procedure load_setting;
var
  IniFile: TIniFile;
begin
  IniFile:=TIniFile.Create(frm_resourse.programm_path+"main.ini");
  frm_resourse.last_user:=IniFile.ReadInteger("last","user",0);
  frm_resourse.last_number_TZ:=IniFile.ReadInteger("last","tz",0);
  frm_resourse.last_number_drawing:=IniFile.ReadInteger("last","draving",0);
  frm_resourse.ini_files:="main.ini";
end;

........
----------

в результате в dpr при вызове frm_resourse.load_setting; получаю сабж.

Как сделать правильно?


 
Ega23 ©   (2005-10-25 12:33) [1]

ExtractFilePath(ParamStr(0))  ?

Хотя, мне кажется, что дело не в этом...


 
Digitman ©   (2005-10-25 12:41) [2]


> syte_ser78 ©   (25.10.05 12:25)  


использовать встроенный отладчик для поиска "неисправностей" религия не позволяет ?


 
syte_ser78 ©   (2005-10-25 12:44) [3]

frm_resourse - data module если это чтото меняет


 
Плохиш ©   (2005-10-25 12:45) [4]


>   IniFile:=TIniFile.Create(frm_resourse.programm_path+"main.
> ini");

ССЗБ (c) АП :-)

В этот момент переменная ещё указывает "на деревню дедушке"


 
syte_ser78 ©   (2005-10-25 12:50) [5]

Digitman ©   (25.10.05 12:41) [2]
Не поверите, использывал!


 
syte_ser78 ©   (2005-10-25 12:54) [6]

Плохиш ©   (25.10.05 12:45) [4]
??? Не понял


 
Digitman ©   (2005-10-25 12:55) [7]


> Плохиш ©   (25.10.05 12:45) [4]


"на деревню дедушке" указывает не frm_resourse, а load_setting

это ж надо так извратиться - использовать ссылку на рег.процедуру вместо метода объекта, использование которого здесь просто очевидно !


 
clickmaker ©   (2005-10-25 12:55) [8]


> syte_ser78 ©   (25.10.05 12:50) [5]

а зачем в ф-ии-члене класса явно юзать переменную frm_resourse?


 
Digitman ©   (2005-10-25 12:57) [9]


> syte_ser78 ©   (25.10.05 12:50) [5]
> Не поверите, использывал!


не поверю.

если бы использовал, то давно бы увидел, что на момент вызова load_setting() значение одноименного поля объекта равно nil


 
Плохиш ©   (2005-10-25 13:07) [10]


> Digitman ©   (25.10.05 12:55) [7]

Точно! Извращения начинающих неисповедимы.


 
syte_ser78 ©   (2005-10-25 13:52) [11]

clickmaker ©   (25.10.05 12:55) [8]
а чем это плохо?

Digitman ©   (25.10.05 12:55) [7]
Извините, можно поподробнее?


 
Digitman ©   (2005-10-25 14:00) [12]


> syte_ser78 ©   (25.10.05 13:52) [11]


begin
    Application.Initialize;
    frm_resourse:=Tfrm_resourse.Create(Application);
    frm_resourse.programm_path:=ExtractFilePath(Application.ExeName);
    frm_resourse.load_setting;
.....
--------

frm_resourse.pas
----------
public
  ......
  procedure load_setting; //объявляем процедурный метод класса, а не рег.процедуру !
  ..
end;

.......

//реализуем этот процедурный метод
procedure Tfrm_resourse.load_setting;
var
 IniFile: TIniFile;
begin
 IniFile:=TIniFile.Create(programm_path+"main.ini");
 try
  last_user:=IniFile.ReadInteger("last","user",0);
  last_number_TZ:=IniFile.ReadInteger("last","tz",0);
  last_number_drawing:=IniFile.ReadInteger("last","draving",0);
  ini_files:="main.ini";
 finally
  IniFile.Free;
 end;
end;


 
syte_ser78 ©   (2005-10-25 14:01) [13]

frm_resourse.pas
_________________
type
   ....
   procedure load_setting;
   ....

procedure tfrm_resourse.loaad_setting;
.....

_________________

Так заработало. Спасибо



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

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

Наверх




Память: 0.49 MB
Время: 0.063 c
1-1129882552
kyn66
2005-10-21 12:15
2005.11.13
Как обратиться к выделенной строке ListView?


9-1119930147
zvb
2005-06-28 07:42
2005.11.13
opengl и динамические массивы


4-1126446322
Still Swamp
2005-09-11 17:45
2005.11.13
Нужен счетчик времени... что ли?


14-1130095694
Vaitek
2005-10-23 23:28
2005.11.13
Норд-Ост


1-1129874063
Layner
2005-10-21 09:54
2005.11.13
Как в цикле найти все виз. компаненты на форме