2008-10-03 3 views
4

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

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

+0

Это напоминает мне отвратительную проблему времени компиляции, которую мы имели с большим приложением VB6 ... в основном кто-то переупорядочил членов в пользовательском элементе управления .ctl-файл, а скомпилированный начал barf с каким-то совершенно несвязанным сообщением. Это сработало, когда мы вернулись в VSS, поэтому просто вернемся, как это было! – 2008-10-04 04:21:02

+0

Я делал это раньше в формах, когда мне нужно было вставлять новые вкладки в существующий элемент управления SSTab между двумя другими вкладками, что было проще, чем добавлять новые вкладки до конца, а затем вручную вырезать/вставлять между вкладками, чтобы получить все правильно. Пока вы будете осторожны, вы можете заставить его работать ;-) – 2008-10-04 04:25:28

ответ

6

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

  • При использовании элемента управления SSTab, В. Б. любит переставлять свойства вкладок, особенно TabEnabled собственности.

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

  • IDE похоже, что случайный случай ; это, как представляется, происходит часто, чтобы проектировать ссылки. Иногда они выводятся в нижнем корпусе, а в других случаях это вывод в верхнем регистре. Вы можете получить вокруг этого, выбрав «Игнорировать Случай», когда вы меняете файлы в SourceSafe.

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

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

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

1

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

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

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

0

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