Главная страница
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.029 c
2-1130307297
pic509
2005-10-26 10:14
2005.11.13
как узнать номер созданной записи


14-1130153575
bSava
2005-10-24 15:32
2005.11.13
А что собственно с поиском по сайту?


2-1129914759
Volf_555
2005-10-21 21:12
2005.11.13
Как на Delphi определить файл или папку


6-1122979880
Readen
2005-08-02 14:51
2005.11.13
IdHTTP: ContentRangeStart и ContentRangeEnd


9-1119948586
Зм1й
2005-06-28 12:49
2005.11.13
Загрузка модели