|
2 Inu : Как у тебя заработало меню на форме?
|
|||
---|---|---|---|
#18+
Привет, как у тебя получилось с меню? Я делаю тоже самое, а у меня проблемы всё равно остаются: выдаются синтаксические ошибки, ну и прочее... Если все ошибки игнорируешь, то меню появляется, но пункты подменю не активны! Может это с версией связано? У тебя какая верси VFP? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 14:05 |
|
2 Inu : Как у тебя заработало меню на форме?
|
|||
---|---|---|---|
#18+
Меню заработало нормально. А твои ошибки скорее всего связаны с кириличными названиями пунктов меню. В файле меню (*.mpr) найдеш чтото вроде DEFINE PAD _10n0mzn39 OF (m.cMenuName) PROMPT "Пункт меню" COLOR SCHEME 3; KEY ALT+П, "" KEY ALT+П - это и есть твоя ошибка (не любит фокс кирилицы :) ) Измени ALT+П, например, на ALT+G (та же кнопка на клавиатуре), тогда всё заработает. :) ну и прослиди чтобы комбинации не повторялись в следующих пунктах. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 16:59 |
|
2 Inu : Как у тебя заработало меню на форме?
|
|||
---|---|---|---|
#18+
Да все понятно, спасибо, но фокс при генерации меню сам автоматически выставляет их, а как сделать что бы он вообще их не ставил? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 18:01 |
|
2 Inu : Как у тебя заработало меню на форме?
|
|||
---|---|---|---|
#18+
Не получится :) Если не нравится то, что генерирует Фокс - пиши ручками (MPR это обычный текстовый файл). Но всё же легче изменить один символ :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 18:16 |
|
2 Inu : Как у тебя заработало меню на форме?
|
|||
---|---|---|---|
#18+
Ну почему же, получится. Советы по решению этой проблемы здесь: http://nsvisual.com/fox2/sol/index.php?act=view&id=138 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 18:27 |
|
2 Inu : Как у тебя заработало меню на форме?
|
|||
---|---|---|---|
#18+
Фокс клуб же не работает... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 18:43 |
|
2 Inu : Как у тебя заработало меню на форме?
|
|||
---|---|---|---|
#18+
Ну хорошо, если Вы не можете достучаться, тогда вот только что зашел на него и скопировал: ============================================== Устранение сообщения о синтаксической ошибке при запуске меню Предлагаю несколько вариантов решения. I) Глобальный За генерацию меню (т.е. создание файла MPR на базе вашего файла MPX) отвечает программа GenMenu.prg. Эта программа расположена в корневом каталоге VFP. Если Вы делали установку в директорию по умолчанию, то это директория "C:\Program Files\Microsoft Visual Studio\Vfp98" Откройте файл GenMenu.prg на редактирование командой: MODIFY COMMAND "c:\program files\microsoft visual studio\vfp98\genmenu.prg" Найдите в нем функцию FUNCTION addkey и закоментируйте в этой функции весь условный оператор, начинающийся с фразы: IF !IsLeadByte(prompt) Однако, оставьте незакоментированной в нем единственную строчку STORE "" to m.cKeyname Т.е. соответсвующий кусок программы должен выглядеть так: *!* IF !IsLeadByte(prompt) *!* STORE c_key_padhotkey_LOC + UPPER(LEFT(prompt,1)) TO m.cKeyname *!* ELSE STORE "" to m.cKeyname *!* ENDIF Сохраните и откомпилируйте измененный файл GenMenu.prg. Все. Теперь Вам остается только перегенерить все Ваши меню. Сообщение о синтаксической ошибке больше возникать не будут. II) Ловкость рук Если Вы считаете, что MicroSoft не ошибается или не чуствуете в себе достаточной уверенности, чтобы исправлять не свои файлы, то Вам остается только каким-либо способом обмануть генератор меню: а) Каждый пункт главной линейки меню начинать с цифры б) Первым символом каждого пункта использовать латинскую букву похожую на русскую ("C","M","P" и т.п.) в) Обязательно вручную назначать комбинацию горячих клавишь для каждого пунтка меню III) Игнорирование сообщения об ошибке Это совсем грубый способ. Перед каждым вызовом меню, следует включать собственный обработчик ошибок. Примерно так: LOCAL lcOldError, lnErrorNumber lcOldError = ON("Error") ON ERROR lnErrorNumber = Error() DO MyMenu.mpr ON ERROR &lcOldError Дополнения пользователей Black Cat 14.08.2001 06:38:04 дополнение к глобальному способу в файле genmenu.prg в функции addkey в условный оператор IF NOT EMPTY(m.cKeyname) добавить AND NOT EMPTY(m.cKeylabel) получится IF NOT EMPTY(m.cKeyname) AND NOT EMPTY(m.cKeylabel) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2003, 19:04 |
|
|
start [/forum/topic.php?fid=41&fpage=417&tid=1598057]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 167ms |
0 / 0 |