Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
VFP6. У меня файлы контейнера библиотека классов раздулись до неприличия, больше половины удаленных записей. Хочу упаковать. Открываю командой use монопольно. Даю pack - фокс дает ошибку, "memo-файл is missing (invalid)". Если даю команду pack memo, ошибка похожая. Это как - формат контейнера библиотеки классов это не совсем dbf-fpt ? Какие-то флажки не совпадают, и из-за этого надо вместо pack писать что-то другое ? Сначала думал, что проблема с тем, где размещены файлы. Перенес с сети на локальный нерасшаренный диск - то же самое :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 11:54 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
По идее должна помочь просто COMPILE. При этом ни одна библиотека не должна в данный момент использоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 12:11 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
COMPILE на что ? Файл vcx ? Не получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 15:59 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Имеется ввиду COMPILE CLASSLIB конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 16:03 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Перекомпили проект с опцией "Recompile All Files". Это автоматически упакует все классы. Да, перед этой операцией дай команду CLEAR ALL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 21:33 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Мдя. У меня что-то явно не то. Compile classlib и перекомпиляция проекта дают все ту же ошибку для библиотеки: memo file ...vct is missing or is invalid. А на другой (маленькой) библиотеке все нормально. Пробовал по-другому. Обозвал файл vcx как dbf, а vct как fpt. Пробую открывать его как use mylib.dbf - вылазит ошибка: file .dbc does not exist. Та же ошибка вылазит при попытке сделать append from из этого файла. А если открыть библиотеку командой use ? (показав потом на файл .vcx), а потом сделать copy all to mylibcopy, то фокс задумывается НАДОЛГО, строит 2 файла - mylibcopy.dbf (короче исходного вдвое, как и ожидалось), и mylibcopy.fpt с размером почти В 20 РАЗ БОЛЬШЕ. В этом файле отдельные куски повторяются по многу раз - явная ошибка самого фокса. У меня VFP6 SP5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 10:02 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 10:50 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
strizh А если открыть библиотеку командой use ? (показав потом на файл .vcx), а потом сделать copy all to mylibcopy, то фокс задумывается НАДОЛГО, строит 2 файла - mylibcopy.dbf (короче исходного вдвое, как и ожидалось), и mylibcopy.fpt с размером почти В 20 РАЗ БОЛЬШЕ. В этом файле отдельные куски повторяются по многу раз - явная ошибка самого фокса. У меня VFP6 SP5. Это не ошибка Фокса. Это ошибка мемо-файла (о чем тебе Фокс говорил много раз), точнее разрушение его структуры (возможно, что даже без потери информации). Так что, вооружись терпением и вычищай ненужные "хвосты"... Примерно так же у меня было совсем недавно, когда надо было восстановить Вордовский файл (имевшийся в единственном экземпляре на сбойной дискетке) при помощи Нортоновских утилит чтения диска на низком уровне... Восстановить удалось около 90%... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 11:42 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
piva Код: plaintext 1. 2. 3. 4. 5. 6. Это хорошо, если исходная библиотека не является сбойной. Иначе - возвращаемся к началу топика... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 11:43 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
авторЭто хорошо, если исходная библиотека не является сбойной. Иначе - возвращаемся к началу топика... если в начале топика грилось, што "окрываю..." то копирование таблицы как раз и исправит проблему мемо-данных :Р ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 11:50 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2005, 13:12 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Да по всякому уже пробовал. Обидно то, что размер исходной библиотеки 1.3 Мб, а после извратов получается 17 Мб. И без извратов фокс не строит exe-шку (ошибку см. выше). Ну и размер exe получается 19 Мб, а пару недель назад (до порчи) было 1.5 Мб. Праздник какой-то. Нет выхода и придется писать какой-то построчный сохраняльщик dbf-файла библиотеки с вычищанием в memo-полях какого-нить мусора ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2005, 19:54 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Нашел трабл наконец-то. Одна из строк в таблице библиотеки классов не содержала ничего (заголовков, имен и пр.), кроме ОГРОМНОГО текста (огрызков моих методов, описаний классов, компилированного кода и пр.) в поле objname (!). Удалил эту строку, сделал copy all to ... - размер библиотеки стал 80 Кб. 8-() Видимо, в процессе редактирования объектов библиотеки Fox складывал туда по ошибке всякий мусор, а потом при компиляции (или упаковки) библиотеки, натыкаясь на такой бред в таком поле, рассказывал про ошибку memo-файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2005, 14:22 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Hi strizh! А ты после COPY TO не забыл сделать PACK и потом COMPILE CLASSLIB? Хотя конечно после подобных крахов надо очень тщательно проверить все memo-поля vcx (скажем первые поля - Class, ClassLoc, BaseClass, ObjName, Parent всегда должны содержать не более одной строки и некоторые даже не более одного слова!) В поле Propetries перечислены все "изменённые" свойства для каждого объекта - посмотри нету ли там "мусора" - аналогично в поле Methods должен быть только исходник... ObjCode можно сразу BLANK сделать - при COMPILE CLASSLIB оно заново заполнится. Для прочих полей тоже есть описание - что там должно быть, а чего нет... В общем восстановить всё можно при желании... Конечно если есть ЧТО восстанавливать :) P.S. Надеюсь после этого казуса ты научишься делать Backup :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2005, 15:48 |
|
||
|
Упаковка библиотеки классов - как ?
|
|||
|---|---|---|---|
|
#18+
Backup как раз не был проблемой. Только что вычислил, что было наиболее вероятной первопричиной всех бед. Права на каталог Netware, где лежала библиотека, не содержали Access Control. А поскольку все версии fox очень любят манипулировать атрибутами файлов и делать всякие команды типа rename (эти функции использует fox во время компиляции библиотеки), то в какой-то момент сетевая файловая система возвращала ошибку из-за отсутствия права, а fox после нее не откатывал библиотеку в первоначальное состояние (откуда ему взяться !), и не возвращал истинную ошибку файловой системы. Мой второй программер (программистка) это проигнорировала, а я наткнулся в самый неподходящий момент :-( Все починилось :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2005, 17:56 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32856881&tid=1595132]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 350ms |

| 0 / 0 |
