|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
Вопрос в общем такой можно ли засунуть все рисунки проекта в один файл, например с расширением dll и просто потом подключить его, вместо того чтобы хранить кучу картинок причем разных форматов в корневой папке или в отдельной папке? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 17:22 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
Можно. Только обращение к этим картинкам будет через специальную процедуру. Подробности здесь. Тайна потусторонних связей или Использование переадресованных вызовов PS: Хотя работу с приложением это не упростит, а усложнит. Если понадобиться добавить/изменить один файл картинки, то придется менять всю библиотеку целиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 20:16 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
ВладимирММожно. Только обращение к этим картинкам будет через специальную процедуру. Подробности здесь. Тайна потусторонних связей или Использование переадресованных вызовов PS: Хотя работу с приложением это не упростит, а усложнит. Если понадобиться добавить/изменить один файл картинки, то придется менять всю библиотеку целиком. Спасибо Владимир почитаю, но я уже хочу применять это к готовым проектам, которые уже не будут требовать изменения, просто слишком много файлов в папке плоховато как бы и есть вероятность, чтобы пользователь шарясь в папке с программой случайно или намеренно не удалили картинки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 10:14 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
Если изменений не требуется, то картинки можно просто включить в проект и закомпилировать в EXE. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 10:28 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
Dima TЕсли изменений не требуется, то картинки можно просто включить в проект и закомпилировать в EXE. а что разве после компиляции в exe присутствия картинок на диске не требуется???????????? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 10:43 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
Пользователь "шарясь по папкам" может удалить любой файл. В том числе и собранную библиотеку. Так что, это не аргумент. Кроме того, всегда должна быть "под рукой" резервная копия. В худшем случае, можно заново инсталировать приложение. Просто сложить файлы в библиотеку - недостаточно. Необходимо организовать специальный вызов файлов из этой библиотеки. Т.е. изменить приложение. Если при написании приложения Вы создали библиотеку базовых классов и использовали именно ее, а не напрямую базовые классы FoxPro, то модифицировать будет проще. По ссылке описано какие модификации требуются. Свойство PictureVal принимает в качестве значения символьную строку, содержащую бинарный код файла картинки. В смысле, при работе через это свойство наличия картинки на диске не требуется. Досточно создать нужную бинарную строку, например, через FileToStr(). Впрочем, и свойтво Picture можно обмануть. Как именно, опять же смотри по ссылке. Собственно, при "упаковке" файлов в библиотеку они ведь тоже не будут "лежать на диске". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 11:36 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
johngornDima TЕсли изменений не требуется, то картинки можно просто включить в проект и закомпилировать в EXE. а что разве после компиляции в exe присутствия картинок на диске не требуется???????????? Нет. Если ты включил картинки в проект, то они изнутри EXE точно так же доступны как если бы лежали в папке вместе с ним. Правда они будут недоступны если пытаться использовать их какими-то внешними прогами (например паинтом открыть) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 11:47 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
ВладимирМ, дело в том, что Dima T, поставил меня сейчас в стопор, я на протяжении 5 лет упорно думал что файлы картинок должны быть в папке с программой, а оказывается ну по крайней мере в 9-ом фоксе не должны быть они компилируются, так что мой вопрос отпал сам собой, хотя, ваша ссылочка может пригодится для подключения библиотек windows с картинками, так что будем для себя что то экспериментировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 11:53 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
johngornя на протяжении 5 лет упорно думал что файлы картинок должны быть в папке с программой, а оказывается ну по крайней мере в 9-ом фоксе не должны быть они компилируютсяДля справки: начиная с 3-го. Минус: EXE-шник весит больше, примерно на суммарный вес картинок. Да, еще: в EXE-шник включается только то, что есть в проекте. Так что экспериментируйте... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 12:12 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
johngornоказывается ну по крайней мере в 9-ом фоксе не должны быть они компилируются Это давно так, не только в 9-ке. Тут все идет от устройства EXE фокса, т.к. фокс интерпретатор, то EXE это не полностью бинарный файл, а маленький загрузчик, после которого идет содержимое всех включенных в проект файлов. Т.е. своеобразное встроенное файловое хранилище. При обращении в коде к файлу он сначала ищется внутри EXE (если EXE выполняется) а потом уже по диску. Поэтому "закомпилировать" внутрь EXE можно любые файлы и они будут доступны из кода программы, правда только для чтения. Можно например вставить DBF нужную только для чтения. Config.fpw тоже можно и он будет использован при старте EXE. Некоторые команды не могут работать с "закомпилированными" файлами, например COPY FILE его не скопирует на диск, но есть обходные пути StrToFile(FileToStr()). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 12:23 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
Dima TМожно например вставить DBF нужную только для чтения. а как DBF скомпилировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 12:36 |
|
Вопрос про рисунки....
|
|||
---|---|---|---|
#18+
johngornа как DBF скомпилировать? Вкладка проекта "Other files" группа "Other files" кнопка "Add..." там поставь тип файлов "All files (*.*)" и выбирай чего угодно. Например DBF. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 12:48 |
|
|
start [/forum/topic.php?fid=41&msg=37906784&tid=1583526]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 188ms |
0 / 0 |