:: Visual Foxpro, Foxpro for DOS
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
medstrах
Не понял ни мысли, ни логики. Ну да ладно, это неважно. Я пытался сказать совсем о другом. О том, что нельзя руководствоваться принципом "некритично - ну тогда и пофиг". Это приводит к плохим результатам. Софт, который функционально и на 20% не отличается от своих аналогов 20 лет назад, жрет в десятки раз больше места в памяти и на диске. Потому что всем пофиг, ведь пользователь всегда докупит еще памяти и ядер с хардами, а нам некогда, нам надо успевать бабло зарабатывать, выпуская новые версии.
Ещё раз. Чем 3.5 мегабайта, вкомпиленные в экзешник отличаются от 3.5 мегабайт, лежащих рядом с экзешником?
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
pasha_usue
Софт, который функционально и на 20% не отличается от своих аналогов 20 лет назад, жрет в десятки раз больше места в памяти и на диске
Чего это он так?
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
medstrах

Сообщений: 1810
Дата регистрации: 10.06.2019
pasha_usue
Ещё раз. Чем 3.5 мегабайта, вкомпиленные в экзешник отличаются от 3.5 мегабайт, лежащих рядом с экзешником?
Ну с этой точки зрения разницы конечно нет, я просто не понял о чем идет речь, прошу пардона.
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
ElenaB
Igor Korolyov
Простой и тупой вопрос. Зачем?
Простой и тупой ответ: Некоторые ссылки на картинки задаю программно в своих классах. При компиляции иногда забываю их (файлы картинок) включить. Искала по форуму, кто как поступает. Нашла несколько постов со ссылками на статью Пивы. Критики не находила. Подумала, что так, возможно, будет удобно. На даты обратила внимание не сразу.

Маловероятно что от "забывчивости при включении файла в ОДИН проект" поможет включение этого же файла, при том гарантированно "ручное", т.к. прямых ссылок на него не будет в ДРУГОЙ проект.
Смысл выносить картинки или ещё что из основного exe есть лишь для целей сетевого обновления - чтобы меньше качать по сети. При этом совершенно не проблемно просто никуда эти картоинки не включать, а держать как отдельные файлы в папке. И для обновления ничем оно не сложнее - как бы это самое обновление не было организовано - от банального xcopy (если обновляемся "по сети" с серверной папки где лежит эталонная версия) до запроса с веб-сервера файла "манифеста" (тупо списка имён файлов и их размеров/даты обновления/контрольной суммы aka hash-а), сравнения с локальным списком и выкачивания только необходимых файлов.
Штатно фокс даже не умеет сжимать/упаковывать то что включается внутрь его exe/app файлов - тогда как вынеся это наружу можно банальный zip/7z использовать - как для целей транспортировки, так и, если уж совсем всё плохо с местом, для постоянного хранения "картинок" - правда для работы их всё равно придётся в какой %temp% распаковывать, ну да хоть не все, а только нужные


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
ElenaB
Автор

Сообщений: 326
Откуда: Москва
Дата регистрации: 28.09.2001
Спасибо, Игорь, за развернутый ответ. Я уже поняла, что мороки от варианта, по которому я пробовала, больше, чем реальной пользы. Просто переорганизую картинки в папках.
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
ElenaB
Автор

Сообщений: 326
Откуда: Москва
Дата регистрации: 28.09.2001
Кстати, "от забывчивости". Помогло элементарное.
Создать класс контейнера, положить в него имаджи с прямыми ссылками на нужные файлы, включить этот класс в проект.
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
ElenaB
Кстати, "от забывчивости". Помогло элементарное.
Создать класс контейнера, положить в него имаджи с прямыми ссылками на нужные файлы, включить этот класс в проект.
Просто написать prg типа

Цитата:
RETURN
DO GetUpd.prg
DO BackUp.prg
DO XP_Bottom.bmp
DO ROSE_VD.JPG
И включить его в проект
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
ElenaB
Автор

Сообщений: 326
Откуда: Москва
Дата регистрации: 28.09.2001
Ydin, спасибо, здорово!
А библиотеку с классами можно как-то так подцепить?
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
ElenaB
Ydin, спасибо, здорово!
А библиотеку с классами можно как-то так подцепить?

Может оно и "здорово", но забудьте.
Откройте для себя команду External...
Она позволит включить в проект графические, двоичные и прочие файлы, файлы процедур, библиотеки классов, подавить сообщение об обращении к внешнему массиву. И пр..
В отличие от фальшивого.prg с вызовом do ggg.bmp и пр. не включается в EXE, а действует только на время компиляции проекта.
И это правильно. Может это относительно новая команда, поэтому мэтры не пользуются, но она есть.



Исправлено 1 раз(а). Последнее : Taran, 10.07.19 19:16
Ratings: 0 negative/2 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
ElenaB
Автор

Сообщений: 326
Откуда: Москва
Дата регистрации: 28.09.2001
Taran, большое человеческое спасибо!
Все включила. До этого пользовалась только EXTERNAL ARRAY.
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
pasha_usue
Ещё раз. Чем 3.5 мегабайта, вкомпиленные в экзешник отличаются от 3.5 мегабайт, лежащих рядом с экзешником?

Ну ежели, не про иконки.
У меня отдельный app лежит рядом с екзешником, как раз 3.5 МБ.
Элементарный проигрыватель звуков и собственно в нем сама коллекция.
Используется не очень часто, лежит внешне, т.е. память не грузит, ну и малеха скорость загрузки собственно приложения увеличивается.
Ratings: 0 negative/2 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
ElenaB
Некоторые ссылки на картинки задаю программно в своих классах. При компиляции иногда забываю их (файлы картинок) включить. Искала по форуму, кто как поступает. Нашла несколько постов со ссылками на статью Пивы.

Кстати, само по себе "включение в APP" таких объектов, как "картинки" - возможно прогделывалось им просто чисто ради интереса. Сегодня только он сам мог бы уточнить свою причину поиска и нахождения этого решения.
На мой же взгляд - при простом прочтении данной задачи - напрмиер куда более очевидным и простым было бы несколько другое решение.
Вот такой вариант например:
Скажем можно при необходимости в процессе разработки добавлять картинки в качестве бинарного содержимого (только не General!) в записи некоей специальной таблицы с двумя полями - первое поле с именами файлов, второе бинарное. Которую заведомо заранее просто пометить, как включенную в проект.
Такая таблица будет при компиляции соответсвенно встраиваться в проект без необходимости какой-то ее дополнительной переноски. Обращаться же к ней можно точно так же, как и к любой обычной открытой таблице, для чего для удобства можно просто добавить ее например в окружение проекта.
А ссылки на нужную картинку везде создавать - путем поиска соответстующих записей в этой таблице.
Для упрощения поиска лучше ее проиндесировать по полю с именами файлов, создав составной индексный файл CDX (можно например прямо в дизайнере таблицы), он также будет вклюен в проект. Тогда достаточно лишь команды типа SEEK с нужным именем для переходв к нужной строке.
Либо можно например использовать и просто команду LOOKUP(), сразу возвращающую указанное поле. Ну это все нюансы уже как бы.
Т.е., основная суть - для хранения картинок просто завести в проекте дополнительную включенную в проект таблицу. Ну а дальше можно в принципе уже как угодно развивать эту идею - повышая удобство ее использования непосредственно для своих целей.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 3 раз(а). Последнее : Crispy, 12.07.19 11:23
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Фантазии какие-то.
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
прошелмимо

Сообщений: 784
Дата регистрации: 21.02.2012
Crispy
Вот такой вариант например:

хз, как это решение для фокса (стоит ли городить городухи,
одно движение в проете и иконки и т.д. нормально … и видятся во всех объектах проекта)

а в сапе так, есть такое
табличка ICON
@00@ ICON_DUMMY Пиктограмма-заполнитель
@01@ ICON_CHECKED Проверено; ОК
@02@ ICON_INCOMPLETE Не полностью; критично
@03@ ICON_FAILURE Не удалось
@04@ ICON_POSITIVE Положительно; хорошо
@05@ ICON_NEGATIVE Отрицательно; плохо
@06@ ICON_LOCKED Блокировано; блокировать
итд и тп

blogs.sap.com



Исправлено 1 раз(а). Последнее : прошелмимо, 12.07.19 12:13
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
В проекте картинки, как и другие файлы, явно заданные, сами войдут в проект.
Бывает, что это даже мешает, но это сейчас OFF.
Если форма в проекте, а в ней есть имидж с заданной Picture, так эта картинка уже войдет в проект.
А если она вычисляемая, типа IIF(Some=1,'alfa.bmp','beta.bmp') и это в каком-то коде вычисляется (и сам код в проекте),
то в конце этого кода добавьте
return
do alfa.bmp
DO beta.bmp

Я так делаю лет 20 или больше. И мне хорошо.
Но не навязываю, просто делюсь
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
прошелмимо

Сообщений: 784
Дата регистрации: 21.02.2012
Ydin
так эта картинка уже войдет в проект.
не всегда
не помню все случаи, но например, если activex toolbar

www.sql.ru

то он нифига не притянет в проект ссылки на пиктограммы.
нужно инклудить в проект.
тогда картинки будут в арр(exe) и норм отображаться в рантайме.
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
ElenaB
Автор

Сообщений: 326
Откуда: Москва
Дата регистрации: 28.09.2001
Спасибо всем за варианты.

Да картинок написала в начале основной программы
EXTERNAL FILE aaa.bmp, bbb.jpg, ccc.ico.


Для библиотек все-таки по совету Ydin, в конце программы
RETURN
DO my_libr.prg
DO my_libr.vcx

Через EXTERNAL с ними не получилось.
Если писать как EXTERNAL PROCEDURE, они в проект подцепляются при сборке, кружка перечеркнутого у них нет, но при запуске ехе из другой директории эти файлы не находятся. Почему тогда они в проекте не помечаются как exclude?

Через EXTERNAL FILE они включаются в EXE, но не как библиотеки, а как сторонние файлы (уходят во вкладку Other Fifes).

Может, чего не учла.
Ratings: 0 negative/0 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
...Вы SET PROCEDURE и SET CLASSLIB используете ?
Там нужно указать имена (без какого-либо пути) к библиотекам и файлам.
Ratings: 0 negative/1 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
прошелмимо

Сообщений: 784
Дата регистрации: 21.02.2012
так.

есть практика построения приложений на фокспро.
оч.хорош вариант, когда:

1. все неменеяемое выносится в отдельный стартовый модуль, часто делается маленький стартовый EXE
2. часто используемые библиотеки - в апп
3. все что часто меняется в отдельные апп по смыслу … + создание опред.абстракций,
когда поведение в интерфейсах видоизменяется посредством настроек …

ну как то так

да

SET CLASSLIB из одного апп позволяет юзать библиотеку, котор. лежит себе …

такой подход позволяет рационально сопровождать ПО, обновлять/масштабировать ...
Ratings: 0 negative/1 positive
Re: О фантомах из "потустороннего мира" или Использовании переадресованных вызовов
прошелмимо

Сообщений: 784
Дата регистрации: 21.02.2012
of63
(без какого-либо пути)

эта если библиотека лежит в одном модуле/приложении …

если они …
а исчо и разбросаны по каталогам
/LIB/
/APP/
/АППдлянакладной/
/АППдлязакладной/
шучу...

то велкам - пути настроить, конечно ...
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 (Гостей: 24)

© 2000-2024 Fox Club 
Яндекс.Метрика