Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2014, 19:43   #1
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию .RC файл без компиляции

Всем привет.

Назрел такой вопрос: есть-ли способ добавить .rc файл в код программы, чтобы при сборке он автоматически собирался?
Т.к. несколько напряжно каждый раз повторять одни и те же действия, хочется немного упростить себе жизнь

Нашел такой способ:
Код:
{$R 'resources.res' 'resources.rc'}
Но Delphi при компиляции ругается:
Цитата:
[Error] File not found: 'resources.res'
Я так понимаю, это работает на более новых версиях? А на старых, типа D7 есть подобный способ?
Xo66um вне форума Ответить с цитированием
Старый 04.05.2014, 20:13   #2
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Хотите упростить жизнь? Поставьте Restorator. Жизнь упростится приблизительно на 50%
doktor255 вне форума Ответить с цитированием
Старый 04.05.2014, 20:44   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

А можно ли программу для собирания таких файлов написать? Ведь делфи позволяет работать с консолью, а пока в рестораторе разберешься, уж и мысли создавать ресурс улетят))
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 04.05.2014, 21:03   #4
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Разбираться в рестораторе? не не слышали. Программа настолько проста, что с ней справляются даже школьники. Прецеденты были. А для особо одарённых на ютубе есть обучающее видео. Так что, как говориться, было бы желание.
P.S. Конечно можно заморочиться, и собрать утилиту для сборки Res файлов. И даже наверное консоли не потребуются. К brcc можно обратиться напрямую через ShellApi. А можно и вообще обойтись без brcc, и собирать ресурсы своими силами. Но ведь получится очередной бесполезный велосипед.

Последний раз редактировалось doktor255; 04.05.2014 в 21:12.
doktor255 вне форума Ответить с цитированием
Старый 04.05.2014, 21:14   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Разбираться в рестораторе? не не слышали. Программа настолько проста, что с ней справляются даже школьники. Прецеденты были. А для особо одарённых на ютубе есть обучающее видео. Так что, как говориться, было бы желание.
На этот раз уж точно не по теме. Ему надо перед сборкой ПО заново собирать некий RC файл, который линкуется в EXE на стадии компиляции.

Ресторатор тут ничем не поможет. А ковырятся им в бинарнике после каждой компиляции - трата времени, да и забыть можно вовсе про это.

ТС:
В XE версиях есть возможность делать что-либо перед сборкой/линковкой и после сборки проекта.

Пропишите в нужное событие батник сборки RC и радуйтесь.

На версиях ниже - добро пожаловать в ад. Хотя нет, у CnPack можно через скрпит. движок много чего интересного делать.... но это тоже ад, документации 0.

Последний раз редактировалось Человек_Борща; 04.05.2014 в 21:18.
Человек_Борща вне форума Ответить с цитированием
Старый 04.05.2014, 21:15   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я не очень понял как Restorator поможет с компиляцией, но могу сказать одно - {$R 'resources.res' 'resources.rc'} прекрасно работало на D6. Так что судя по всему проблема не в самой директиве, а ошибка File not found: 'resources.res' просто говорит о том что файл ресурсов не найден.
Вот такой способ: http://delphiworld.narod.ru/base/jpg_to_exe.html
Был описан еще для Delphi 5, и я им когда то пользовался.
Поэтому, Xo66um, еще раз внимательнее посмотри правильно ли у тебя ресурс прикреплен к проекту, и доступен ли они при компиляции.
Цитата:
В XE версиях есть
Парирую :
Цитата:
Я так понимаю, это работает на более новых версиях? А на старых, типа D7 есть подобный способ?
У автора не ХЕ судя по всему
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.05.2014, 21:23   #7
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Я просто не понимаю, зачем делать rc файл, если можно делать сразу res файл
doktor255 вне форума Ответить с цитированием
Старый 05.05.2014, 11:49   #8
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
Я просто не понимаю, зачем делать rc файл, если можно делать сразу res файл
возможно ресурс-файл в процессе разработки надо закинуть все больше данных, которые сразу не получалось собрать
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 05.05.2014, 12:06   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Я просто не понимаю, зачем делать rc файл, если можно делать сразу res файл
Цитата:
Ему надо перед сборкой ПО заново собирать некий RC файл, который линкуется в EXE на стадии компиляции.
Каждый раз, автоматически. Так понятнее?
Человек_Борща вне форума Ответить с цитированием
Старый 05.05.2014, 12:40   #10
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
могу сказать одно - {$R 'resources.res' 'resources.rc'} прекрасно работало на D6. Так что судя по всему проблема не в самой директиве, а ошибка File not found: 'resources.res' просто говорит о том что файл ресурсов не найден.
Ошибки в .RC файле быть не может, т.к. brcc32.exe собирает .RES файл из него без проблем (вручную), что до ошибки компилятора, то этого самого resources.res нет, я просто решил, что .RC файл соберется в .RES файл с этим именем на этапе компиляции самой программы, иначе зачем тогда указывать .RC файл после конечного файла ресурсов?

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вот такой способ: http://delphiworld.narod.ru/base/jpg_to_exe.html
Был описан еще для Delphi 5, и я им когда то пользовался.
Поэтому, Xo66um, еще раз внимательнее посмотри правильно ли у тебя ресурс прикреплен к проекту, и доступен ли они при компиляции.
Ручная сборка .RC файла в .RES с использованием программы brcc32.exe - понятно, этот метод я и использую, просто каждый раз надо что-то добавить, что-то убрать или изменить, и каждый раз повторять одни и те же телодвижения... В общем, я устал уже, и по понятным причинам начал искать способ, который сделает хотя-бы часть этой работы за меня.

И да, у меня не XE, а старенький D7 (не знаю почему, но не перевариваю новые версии Delphi... Не то это уже, да и размер пустой формы 1 мб как-то напрягает, даже UPX и ему подобные сильно не спасают.)

В общем, если я правильно понял, то от батника и brcc32.exe мне не отделаться, и все-равно все придется делать вручную...

P.S.
Ничего не имею против Ресторатора, но как по мне, то гораздо удобнее и приятнее держать на руках исходный материал, и не парить себе мозг различными сторонними программами, которые, в 95% случаев не нужны, а в оставшихся 5% нужны лишь изредка. Но это только мое мнение.

Последний раз редактировалось Xo66um; 05.05.2014 в 12:47.
Xo66um вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли на этапе компиляции включить .cpp-файл в проект? Smogg Visual C++ 4 20.07.2013 21:10
открыть файл [B]без[/B] cmd Madmaxisss Visual C++ 2 14.10.2012 18:29
При компиляции ругается на проверенный файл... delphicoding Общие вопросы Delphi 2 05.07.2011 13:05
Найти файл без расширения Shouldercannon Общие вопросы Delphi 2 30.04.2011 16:05
Добавит картинку в файл без сохранения в файл Pacan4ik Microsoft Office Excel 3 30.07.2009 13:19