| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > TGraphicClass по расширению |
| Автор: Illusion Dolphin 7.12.2004, 16:43 | ||
| Необходимо загрузить файл, который является по умолчанию графическим, но может и быть немного видоизменённым мною (зашифрован, например), который я сначала думаю азгрущать в поток, потом же его расшифровывать по мере необходимости, но возникла проблема загрузки из стрима в TGraphic. В модуле graphics дано следующее определение загрузки с файла:
Пока всё упирается в FileFormats.FindExt(Ext) - FileFormats это внутрення переменная в модуле TGraphic, и обойти не получается. Помогите одним словом найти функцию типа GetGraphicClass(Ext : String) : TGraphicClass. |
| Автор: p0s0l 18.12.2004, 01:26 |
| Странно, что такой функции нет... Как проблему решил ? (если решил...) |
| Автор: Illusion Dolphin 19.12.2004, 10:52 |
| [/quote] Как проблему решил ? (если решил...) [quote] Пришлось решать, но как получается иногда в таких случаях - совсем некрасиво. Долгие попытки что-нибудь гибкое сделать пришли к выводу, что раз в скомпилированой проге других форматов не будет (если не делать собственную систему плугинов, есна), то можно всё-таки сделать около 30 условий типа if ext='psd' then result:=TPSDImage... Хотя можно было по сути взять, да и сделать модуль graphicsx.pas, в котором всё будет от обычного graphics, по FileFormats будет виден для других модулей. Может проблему можно было решить с помощью RTTI (по крайней мере в каждом объекте TPicture ести ссылка на FileFormats), но я не пробовал... |