А как бы вмешаться в Code Templates? (вопрос для экспертов )

Kotъ-Begemotъ
Дата: 20.11.2007 23:58:30
вот есть у меня шаблон для вставки в код разных MessageBox()

Например:
MessageBox(frm|.Handle, 'Text', 'Информация.', MB_OK or MB_ICONINFORMATION or MB_APPLMODAL);
Всё хорошо. Работает. Но хотелось бы, чтобы после нажатия Ctrol+J вместо frm вставлялось сразу имя текущей формы типа frmMain В какую сторону порыть?
A.K.
Дата: 21.11.2007 00:52:41
А не лучше будет написать свои функции-обертки к MessageBox? А там можно и текущую активную форму получить, и с PChar'ом не морочиться, и дефолтные значения для параметров предусмотреть.

Да и вообще странная необходимость - вставлять имя текущей формы. ИМХО, в 90% случаях достаточно было бы вставить MessageBox(Self.Handle, ...), поскольку чаще всего все-таки сообщения генерятся в самой текущей форме.
Kotъ-Begemotъ
Дата: 21.11.2007 01:45:44
По Self надо подуать... Что-то мешает сразу это приняоь :) Хотя может быть ты и прав...
A.K.
Дата: 21.11.2007 02:19:43
Можно еще Screen.ActiveForm.Handle попробовать.
Только я все равно за функцию-обертку. Особенно если речь идет о выводе сообщений об ошибке, которые неплохо бы еще и журналировать.
Kotъ-Begemotъ
Дата: 21.11.2007 03:59:27
A.K.
Только я все равно за функцию-обертку.


Поясни плиз, что ты имеешь в виду под "функцией-оберткой"? Может пригодится...
A.K.
Дата: 21.11.2007 13:03:16
Я имел в виду, что можно написать свою функцию, реализующую вызов стандартного MessageBox. Если для приведенного тобой примера информационного окна целесообразность такой функции может быть и невелика, то для сообщений об ошибках она Imho очевидна (допустим, завтра ты надумаешь записывать все ошибки еще и в файл, послезавтра - сопровождать вывод сообщения проигрышем из сонаты Бетховена, а через неделю - заменить поднадоевший MessageBox на новомодный ballon).
Кроме того, Борландом уже написан метод TApplication.MessageBox, в целом аналогичный вызову MessageBox(Application.Handle, ...).
vitalek
Дата: 21.11.2007 19:19:46
Kotъ-Begemotъ
вот есть у меня шаблон для вставки в код разных MessageBox()

Например:
MessageBox(frm|.Handle, 'Text', 'Информация.', MB_OK or MB_ICONINFORMATION or MB_APPLMODAL);
Всё хорошо. Работает. Но хотелось бы, чтобы после нажатия Ctrol+J вместо frm вставлялось сразу имя текущей формы типа frmMain В какую сторону порыть?


В сторону File->New->Other->Code Template
xml - неплохая штуковина, как оказалось:)
softwarer
Дата: 21.11.2007 20:21:32
vitalek
В сторону File->New->Other->Code Template
xml - неплохая штуковина, как оказалось:)

xml-то может и неплохая штуковина, а вот Code Templates - отвратительная, что живописно показывает стартовый пост топика.