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

Вниз

Ошибочка   Найти похожие ветки 

 
qqq2   (2005-03-06 01:56) [0]

Вот уже как 2 дня пытаюсь выяснить в чем проблема!
Пишу прогу, которая при клике по item в popup меню в RichEdit загружает файл, причем имя загружаемого файла хранится в ini файле.
INI файл представляет из себя такой вид:

[Название секции]
file = FILE_NAME.TXT
INFO = bla bla bla

Так вот, caption popup меню по котрому кликаю соответсвует названию секции, т.е. если юзер кликнул по элементу меню с заголовком "Название секции"
то из секции "Название секции" берем имя файл которое хранится в параметре file. Проблема заключается в том, что выскакивает ошибка из-за
того, что не найден файл т.к. непраильно указано имя секции => невозможно получить имя файла.
Вот так я вставляю в popup меню имена всех секций:

procedure TForm1.FormShow(Sender: TObject);
var
 D: TStrings;
 s: integer;
 ini: TIniFile;
begin
 form1.menu.Items.Clear;
 ini := TIniFile.Create(ExtractFilePath(application.ExeName) + "db.ini");
 D := TStringList.Create;
 ini.ReadSections(D);
 for s := 0 to D.Count - 1 do
   begin
     form1.menu.Items.Add(NewItem(d.Strings[s], 0, False, True, form1.OpenHistoryFile, 0, "Item1"));
   end;
end;

Это все работает.
Дальше.
Процедура OpenHistoryFile

procedure TForm1.OpenHistoryFile(Sender: TObject);
var
 s, p, l,color: string;
 ini: TIniFile;
begin

 ini := TIniFile.Create(ExtractFilePath(application.ExeName) + "db.ini");
 s := (Sender as TMenuItem).Caption;
 p := ini.ReadString(s, "file", "");

 l := ExtractFilePath(application.ExeName) + "db/" + p;

 edit.Lines.loadfromfile(l);

 CurrentFile := l;

end;

Т.е. эта процедура должна загружать файл взятый из секции с именем == заголовку item"а по которому кликнул юзер, но вот тут
что-то не то! Ошибка млин выскакивает. Он типа не может прочитать параметр file т.к. не находит секцию с таким именем. В чём может проблема быть?


 
GanibalLector ©   (2005-03-06 02:16) [1]

А проблема всего лишь в св-вах Popup ;)
PopupMenu1.AutoHotkeys:=maManual;
у тебя вероятно стоит maAutomatic


 
GanibalLector ©   (2005-03-06 02:18) [2]

>    form1.menu.Items.Add(NewItem(d.Strings[s], 0, False, True, form1.OpenHistoryFile, 0, "Item1"));

Позвольте узнать глубокий смысл form1? Он там лишний!


 
Набережных С. ©   (2005-03-06 07:13) [3]


> qqq2   (06.03.05 01:56)

А посмотреть, что в s после s := (Sender as TMenuItem).Caption?
Бендер не велел?



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1109835918
syte_ser78
2005-03-03 10:45
2005.03.20
QuickRep


14-1109533478
OneFragLeft
2005-02-27 22:44
2005.03.20
KVirc or mIRC or XChat or ... etc.


6-1106387043
Beglec
2005-01-22 12:44
2005.03.20
Можно ли при помощи TNetMon проссумировать байты отдельно по порт


1-1109672938
Manfred8
2005-03-01 13:28
2005.03.20
Интеграция StarTeam 2005 и Delphi7


1-1109241713
Mishenka
2005-02-24 13:41
2005.03.20
Направление поиска в RichEdit