Есть ли способ предотвратить компиляцию содержимого файлов компилятором VB6? - PullRequest
4 голосов
/ 03 октября 2008

По неизвестным причинам компилятору VB6 часто нравится переупорядочивать содержимое файлов .vbp и блок дескриптора элемента управления в верхней части файлов .frm (код, который описывает свойства элементов управления в форме. Это не видно в IDE, но вы видите в текстовом редакторе и при выполнении различий с предыдущей ревизией в управлении версиями .). Это монументально раздражает и очень отвлекает при сравнении версий файла.

Есть ли способ предотвратить это?

Ответы [ 3 ]

6 голосов
/ 04 октября 2008

Не думаю, что с этим можно многое сделать. Я заметил ту же проблему: IDE любит переставлять вещи, казалось бы, без видимой причины. Некоторые вещи, которые я заметил:

  • Когда вы используете элемент управления SSTab, VB любит переставлять свойства для вкладки, особенно TabEnabled свойство.

  • Для файлов проекта, это случайно переупорядочивает порядок, в котором файлы появляются, и я думаю, что я помню случаи, когда похожие типы файлов не всегда сгруппированы и заканчиваются перепутал с проектом свойства. У вас нет много контроля над этим, если вы не запускаете все свои VBP через дезинфицирующее средство какого-либо типа, которое группирует одинаковые файлы (формы в одной группе, модули в другой группе и т. д.) и сортирует их по алфавиту или как-то так, чтобы они оставались согласованными. Одним из возможных способов справиться с этим может быть написание надстройки IDE, которая автоматически делает это каждый раз, когда вы сохраняете изменения в файле проекта, или создаете какой-то пакетный процесс, который просто повторяет ваши исходные каталоги и очищает все VBP в один раз.

  • Кажется, IDE случайно меняет случай вещей; кажется, это случилось часто к проектным ссылкам. Иногда они выводятся в нижнем случай, и в других случаях они вывод в верхнем регистре. Ты можешь получить вокруг этого, выбрав «Игнорировать Дело ", когда вы diff файлы в SourceSafe.

  • Контрольные координаты, такие Верхний, Левый, Высота и Ширина могут различаться между две редакции одинаковой формы. Это до для разных разработчиков, использующих разные разрешения экрана и / или различные настройки DPI экрана при работе в одной форме. Если вы еще этого не делаете, я настоятельно рекомендую вам получить каждый развиваться, используя то же самое разрешение и та же настройка DPI. Различные значения вызваны ошибками округления, которые происходят, когда логический экран координаты при разных разрешениях / настройках DPI конвертируются в твипы, по умолчанию координатное пространство, которое использует VB выкладывание форм. Кроме того, пока я в теме, сделать уверен, что у всех установлен дисплей на 96 точек на дюйм, потому что если вы разрабатываете формы VB в 120 точек на дюйм, там действительно очень хорошо вероятность того, что они не будут отображаться правильно на дисплее установлено 96dpi.

  • Возможно, есть и другие вещи, которые я не могу вспомнить прямо сейчас ...

Что касается порядка изменения элементов управления в файлах форм, это нормально, и вы, как правило, не хотите пытаться изменить порядок элементов управления вручную, если происходит переход от одной ревизии формы к следующей. Порядок появления элементов управления в файле формы определяет их Z-порядок в форме. Если порядок элементов управления изменяется в файле .frm, это изменит их относительный Z-порядок на форме, что может привести к непредвиденным результатам в том, как отображаются ваши формы.

1 голос
/ 03 октября 2008

Можно ли сделать файл .vbp доступным только для чтения, когда вы его не редактируете (например, добавляете модули и т. Д.)?

Что касается файлов форм ... Я не могу придумать никакого хорошего способа заставить VB не изменять их порядок. Но я должен сказать, что я никогда не сталкивался с этим раньше. Вы уверены, что что-то еще не происходит?

Вполне возможно, что я просто никогда не обращал на это внимания в прошлом, поэтому я не говорю, что вы ошибаетесь, просто предлагая свои собственные наблюдения.

0 голосов
/ 16 октября 2009

Я заметил, что повторное открытие формы и повторное сохранение часто восстанавливают согласованный порядок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...