Страница 1 из 2

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 12:40
kreator
С10. Есть процедура, использующая модульные переменные. При копировании её в новую новая попадает в другой модуль и модульные переменные пропадают. Есть ли волшебные клавиши, чтобы новая процедура осталась бы в том же модуле.

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 13:27
Yufil
А явно указать имя модуля после копирования не получается ?

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 14:14
kreator
Yufil писал(а):А явно указать имя модуля после копирования не получается ?
В C10 среда не спрашивает явно, а сразу лепит в другой модуль. И сразу уже всё пропало. После этого изменение на нужный модуль ничего не даёт.

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 14:39
Admin
Глупый Кларион. Всегда копирует процедуры в последний модуль.

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 14:41
Admin
И кстати а в чем проблема добавить в новый модуль те переменные которые были?

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 14:44
Дед Пахом
Admin писал(а): И кстати а в чем проблема добавить в новый модуль те переменные которые были?
Во-во, в SV так и думают :-)

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 14:45
Admin
Дед Пахом писал(а): Во-во, в SV так и думают
Честно. За весь срок программирования не использовал в Кларион модульные переменные. И как то обходился :)

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 14:55
Alex_G
kreator писал(а):
Yufil писал(а):А явно указать имя модуля после копирования не получается ?
В C10 среда не спрашивает явно, а сразу лепит в другой модуль. И сразу уже всё пропало. После этого изменение на нужный модуль ничего не даёт.
Нельзя ли подробнее, что за модульный переменные. У меня при переносе после копирования "скопированной" процедуры в исходный модуль, все переменные (string) подхватываются на лету.

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 15:08
Shur
Admin писал(а): Глупый Кларион. Всегда копирует процедуры в последний модуль.
Выход есть, его не может не быть. :roll:
Переименовать модуль, чтобы он стал последним. Убедиться, что в настройках стоит максимальное число процедур на модуль, большее чем есть, и копировать. Потом вернуть честное имя модулю. Получится?
Alex_G писал(а): что за модульный переменные
Те переменные, которые объявляются на уровне модуля. Соответственно видны во всех процедурах модуля.
Статичные, наподобие глобальных.

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 15:13
Admin
Что мешает копировать процедуру в новый модуль а потом поменять в процедуре модуль на нужный?

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 15:17
Ал
вот завязали дискуссию, скоро 2 лист будет :lol:

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 15:51
gopstop2007
а если случайно нажал renumber modules или repopulate modules, страшно и подумать :) :idied:

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 15:57
Дед Пахом
gopstop2007 писал(а): а если случайно нажал renumber modules или repopulate modules, страшно и подумать
Не, на такой случай есть галочка "Auto repopulate", надо её у модуля снять и всё пучком.

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 16:59
kreator
Вот засада, да? Люблю радикальные методы. Типа отказаться от модульных переменных. Подозреваю, что тянутся с ДОСа, когда надо было следить за размером модулей, чтобы 600кб не превысить.

Как скопировать процедуру в тот же модуль?

Добавлено: 11 Январь 2016, 22:51
Yufil
Так всё просто- если нужно пользоваться модульными глобалами, модуль не должен иметь "нумерованное" имя. Создаёшь модуль типа Generated, сбрасываешь флажок "Repopulate" и присваиваешь ему своё собственное имя (без номера в конце), а не генерируемое системой. После чего добавляешь в модуль нужные процедуры, локальные данные и т.д. и модуль не будет испорчен.
У меня, например, есть func.app, в ней автоматически нумерованные func001.clw-func023.clw и дополнительно funcmini.clw ( связаны с минимизацией окна), funcque.clw (очередь сообщений) и funcblob.clw (действия с блобами).