Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора / 6 сообщений из 6, страница 1 из 1
13.03.2014, 12:53
    #38585036
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора
Нутром чую, что когда-то спрашивал сиё, но найти не могу.

В общем, создаю длинный DDL-скрипт. Он начинается с пересоздания таблиц, процедур-пустышек, доментов, генераторов, затем уже создаются "нормальные" объекты (таблицы с триггерами и процедуры) и т.п. Таким обр., скрипт создается с расчетом на то, что при многократных запусках всегда будет отрабатывать без ошибок.
Но для этого нужно проверять его правильность, а значит - выделять текст от текущей позиции курсора до начала и выполнять (Shift-Ctrl-Home, F9 и затем подтвердить 1 или 2 раза, в зав. от наличия commit'a). Всё это задалбывает: надо тыркать много клавиш, да еще и курсор потом возвращать на прежнее место. Неудобно.

Нельзя ли ввести хоткей, по которому будет сразу (без запросов и всяких подтверждений) запускаться часть скрипта от его начала до того места, где курсор ? Например, по Alt-F9...
...
Рейтинг: 0 / 0
13.03.2014, 12:58
    #38585047
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора
Мне как в жабе не хватает Ctrl+F9: дергается текущий стейтмент, отделенный от других пустыми строками.
...
Рейтинг: 0 / 0
13.03.2014, 13:03
    #38585056
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора
wadmanМне как в жабе не хватает Ctrl+F9: дергается текущий стейтмент, отделенный от других пустыми строками.Согласен. Это было бы тоже весьма кстати. Но сначала - моя хотелка! :))
...
Рейтинг: 0 / 0
13.03.2014, 14:17
    #38585187
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора
Таблоид,

QUIT в нужном месте скрипта решит проблему. Только не говори мне, что это жутко неудобно и задалбывает.
...
Рейтинг: 0 / 0
13.03.2014, 14:33
    #38585211
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора
IBExpertQUIT в нужном месте скрипта решит проблему. Только не говори мне, что это жутко неудобно и задалбывает.я попробовал, но работает как-то "неустойчиво": выдаёт периодически access violation, причём на закрытие - новое такое же AV, только с другими адресами.
Происходит это вот при таком скрипте:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<. . . тут много чего важного и синтаксически корректного . . .>
--------------------------------------------------------------------------------
-- create triggers
set term ^;

create or alter trigger doc_data_bi for doc_data active
before insert
as
begin
  if (inserting) then new.id = coalesce( new.id, gen_id(g_doc_data,1) );
end^
quit; -- ДА, ЗДЕСЬ *НЕТ* предварительного "set term ;^", т.е. "quit;" указан сразу после "^"



Если жамкнуть на таком скрипте F9, то:
1) ИБЭ его *выполнит* без сообщения об ошибке;
2) тычок в DB Explorer'e на знак "[ + ]" узла "Triggers" может привести вместо его раскрытия окно AV.

Пример содержимого этого AV-окна:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Error Message:
----------------------------------------
Access violation at address 00FDF815 in module 'IBExpert.exe'. Read of address 00011AE4

[00FDF815] InspectorFm.TInspectorFrame.ObjectsTLCustomDrawCell (Line 1405, "Frames\InspectorFm.pas" + 130) + $6
[00403BD3] System.@HandleAnyException + $33
[00973D9D] dxTL.TCustomdxTreeListControl.DoDrawCell (Line 20234, "dxTL.pas" + 7) + $3E
[00968D35] dxTL.TCustomdxTreeList.DrawCellEx (Line 14492, "dxTL.pas" + 33) + $40
[0095EC61] dxTL.DrawCells (Line 8989, "dxTL.pas" + 425) + $C8
[009604BD] dxTL.TCustomdxTreeList.Paint (Line 9421, "dxTL.pas" + 44) + $1
[0045BEEB] Controls.TCustomControl.PaintWindow (Line 8209, "Controls.pas" + 6) + $5
[00457D66] Controls.TWinControl.PaintHandler (Line 5788, "Controls.pas" + 4) + $13
[00458233] Controls.TWinControl.WMPaint (Line 5923, "Controls.pas" + 6) + $4
[004582CB] Controls.TWinControl.WMPaint (Line 5936, "Controls.pas" + 19) + $4
[0045BE84] Controls.TCustomControl.WMPaint (Line 8198, "Controls.pas" + 2) + $4
[0096072C] dxTL.TCustomdxTreeList.WndProc (Line 9513, "dxTL.pas" + 47) + $4
[00444010] Forms.StdWndProc (Line 1459, "Forms.pas" + 8) + $0
[00F24D85] IBEErrorF.IBEError (Line 39, "IBEErrorF.pas" + 5) + $5
[00F67FE1] Main.TIBEMainForm.AppEventsException (Line 11123, "Main.pas" + 23) + $3
[0044DB09] Forms.TApplication.HandleException (Line 6752, "Forms.pas" + 6) + $F
[00444010] Forms.StdWndProc (Line 1459, "Forms.pas" + 8) + $0
[01083EE4] IBExpert.IBExpert (Line 1389, "D:\Projects_5\IBExpert\IBExpert.dpr" + 594) + $7


Скрипт я выслал тебе в мыльце.
...
Рейтинг: 0 / 0
13.03.2014, 14:42
    #38585231
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора
Таблоид,

Разумеется, должен использоваться текущий терминатор: quit^
Скрипт буду позже смотреть.
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Script Executive, хотелка: hotkey для выполнения запроса от начала до текущей поз. курсора / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]