Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Вниз

Загрузка файлов в dll   Найти похожие ветки 

 
Albenous ©   (2006-10-15 19:19) [0]

Хочу всю коллекцию иконок загрузить в dll и не знаю как это сделать. Именно ЗАГРУЗИТЬ в dll, а не обратиться к конкретному файлу в dll. Подскажите, как сделать?


 
Leonid Troyanovsky ©   (2006-10-15 20:12) [1]


> Albenous ©   (15.10.06 19:19)  

> это сделать. Именно ЗАГРУЗИТЬ в dll, а не обратиться к конкретному
> файлу в dll. Подскажите, как сделать?


Извольте изъясняться ясней, сэр.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2006-10-15 20:40) [2]

UpdateResource


 
Albenous ©   (2006-10-15 22:25) [3]

Яснее? Пожалуйста. Меня интересует как это прописать в программном коде создаваемой мной динамической библиотеки загрузку файла (допустим image.jpg) при помощи среды Dephi.
В конечном итоге (после компиляции) дожна и получиться динамическая библиотека в файлом "внутри".

Как обратиться к файлу (в нашем случае - image.jpg) написано в любой книге по этой тематике, а как загрузить его - нигде.


 
Ketmar ©   (2006-10-15 22:28) [4]

автор, ты это... с терминами определись. а то ничего не ясно. ресурсы вместе с остальными частями dll загружает сама винда. помогать ей в этом не надо.


 
Leonid Troyanovsky ©   (2006-10-15 22:31) [5]


> Albenous ©   (15.10.06 22:25) [3]


Гм..
А можно, как Чапаев - на картошках?
Т.е., кто впереди, кто позади.

--
Regards, LVT.


 
Albenous ©   (2006-10-15 22:48) [6]

Хорошо, попробуем иначе. Как тов. Чапаев.
Есть Windows XP, Delphi 7 и ровные руки.
Надо получить dll внутри которой были бы иконки (и прочее). Как это сделать?


 
Ketmar ©   (2006-10-15 22:52) [7]

я так подозреваю, что dll должна быть загружаема через LoadLibrary()? навскидку:
* запихать в ресурсы;
* запихать в константу.


 
Desdechado ©   (2006-10-15 22:59) [8]

пишешь файл *.rc
компилируешь его с помощью brc32.exe
прилепляешь скомпилированные ресурсы к exe/dll директивой компилятора
{$R *.RES}


 
Albenous ©   (2006-10-15 23:00) [9]

Пожалуйста программным кодом и, желательно, с пояснениями.


 
Leonid Troyanovsky ©   (2006-10-15 23:01) [10]


> Albenous ©   (15.10.06 22:48) [6]

> Надо получить dll внутри которой были бы иконки (и прочее).
>  Как это сделать?


Можно, например, через TImageList, он сам создаст необходимый ресурс.
А можно и каждую иконку, через {$R myicons.res}

--
Regards, LVT.


 
Albenous ©   (2006-10-15 23:06) [11]

я не поленюсь и каждую иконку в отдельности обработать. Только как?


 
Ketmar ©   (2006-10-15 23:07) [12]

>[9] Albenous(c) 15-Oct-2006, 23:00
>Пожалуйста программным кодом и, желательно, с пояснениями.
ставишь Resource Workshop. делаешь ресурс. сохраняешь как .res. подключаешь через {$R myfile.res}. самый простой и удобный способ.

зыж или imagedit.exe из bin. он тоже умеет .res-файлы делать.


 
Ketmar ©   (2006-10-15 23:09) [13]

или примерно так:

файл myfile.rc:
SPRBMP BITMAP dizzysprz.bmp
F0409 ICON "iconz\icon_06.ico"

потом brcc32 на этот файл. получаешь myfile.res. дальше -- по мануалам. %-)


 
Albenous ©   (2006-10-15 23:13) [14]

А при помощи Delphi?


 
guav ©   (2006-10-15 23:13) [15]

> потом brcc32 на этот файл. получаешь myfile.res. дальше
> -- по мануалам. %-)

можно и проще.
File->New->Other->Dll Wizard
Project->Add to project->выбрать в комбобоксе Resource file (*.rc)->выбрать myfile.rc.
При компиляции этой dll .res файл будет создаваться автоматически


 
Albenous ©   (2006-10-15 23:15) [16]

Создаваться - да. А как в нем прописать ссылку на файл?


 
_Ламер_   (2006-10-15 23:18) [17]

А это обязательно делать программно? Тогда не проще ли свой формат выдумать?


 
Anatoly Podgoretsky ©   (2006-10-15 23:19) [18]

Albenous ©   (15.10.06 23:13) [14]
Не выполняешь пункт насчет BRCC просто подключаешь rc файл к Дельфи, дальше не твое дело.


 
Albenous ©   (2006-10-15 23:20) [19]

Мне позарез надо dll  с иконкам


 
Anatoly Podgoretsky ©   (2006-10-15 23:21) [20]

Albenous ©   (15.10.06 23:15) [16]
Где?
Когда сможешь нормально формулировать вопросы?


 
Albenous ©   (2006-10-15 23:21) [21]


> Не выполняешь пункт насчет BRCC просто подключаешь rc файл
> к Дельфи, дальше не твое дело.

по-русски, пожалуйста


 
Ketmar ©   (2006-10-15 23:22) [22]

>[19] Albenous(c) 15-Oct-2006, 23:20
>Мне позарез надо dll  с иконкам
и по религиозным причинам собрать её из командной строки нельзя. ага. тогда развлекайся дальше. разжевать подробнее, чем тебе уже разжевали -- невозможно. разве только сделать за тебя, но это уже денег стоит.


 
Anatoly Podgoretsky ©   (2006-10-15 23:22) [23]

Это мы уже поняли.


 
Ketmar ©   (2006-10-15 23:23) [24]

>[21] Albenous(c) 15-Oct-2006, 23:21
>по-русски, пожалуйста
это ты себе? здравое пожелание.


 
Albenous ©   (2006-10-15 23:23) [25]


> по религиозным причинам собрать её из командной строки нельзя.


почему?


 
Albenous ©   (2006-10-15 23:24) [26]


> Когда сможешь нормально формулировать вопросы?

что именно не понятно?


 
guav ©   (2006-10-15 23:28) [27]

> А как в нем прописать ссылку на файл?

после [15] само пропишется

{$R "myfile.res" "myfile.rc"}

и в dll попадут указанные ресурсы
можно ещё uses из той dll убрать, чтобы размер уменьшить.


 
Ketmar ©   (2006-10-15 23:31) [28]

>[25] Albenous(c) 15-Oct-2006, 23:23
>почему?
это тебе виднее, почему.


 
Percent   (2006-10-15 23:32) [29]

Мне позарез надо dll  с иконкам

Создаешь проект (меню Delphi: File - New - Other -- DLL Wizard):

library IconLib;

{$R MyIcons.res}

begin
end.


Далее:
Открываешь Image Editor из комплекта поставки Delphi (меню в Delphi: Tools - Image Editor). Создаешь новый ресурсный файл (меню в Image Editor: File - New - Resource File). Добавляешь в него иконки (меню в Image Editor: Resource - New - Icon). Рисуешь иконки. Закрываешь окошки с иконками. Сохраняешь ресурсный файл в папку с проектом (IconLib.dll).

Далее - компилируешь проект и наслаждаешься библиотекой с иконками.


 
Percent   (2006-10-15 23:33) [30]

Сохраняешь ресурсный файл в папку с проектом

...в файл MyIcons.res


 
Albenous ©   (2006-10-15 23:33) [31]


> после [15] само пропишется
>
> {$R "myfile.res" "myfile.rc"}
>
> и в dll попадут указанные ресурсы


Хм... Интересно. А если файл лежит, к примеру, на D:/files/prog/ как компилятор определит этот путь? я его ведь нигде не указывал.


 
Ketmar ©   (2006-10-15 23:34) [32]

у-у-у-у... мой моск... мой бедный, старый, больной моск... аффтар, ну выучи матчасть, а? не надо нас мучать...


 
Percent   (2006-10-15 23:35) [33]

А если файл лежит, к примеру, на D:/files/prog/ как компилятор определит этот путь? я его ведь нигде не указывал.

И не надо указывать. Тебе, видимо, нравится головой о стену стучаться. Сохрани на флешку, удали с винчестера, а флешку выкинь. Тогда точно не найдет.


 
Albenous ©   (2006-10-15 23:46) [34]


> И не надо указывать. Тебе, видимо, нравится головой о стену
> стучаться. Сохрани на флешку, удали с винчестера, а флешку
> выкинь. Тогда точно не найдет.


Похоже, меня не поняли. Я имел ввиду до компиляции. Но ладно. не надо злорадствовать, Ketmar, я похоже, разобрался. Нужно воспользоваться Image Editor`ом как и советовал Percent. Дельное предложение. Спасибо.
Я думал пути к файла вручную прописывать надо. Что ж тем мне легче.


 
Percent   (2006-10-15 23:50) [35]

Нужно воспользоваться Image Editor`ом

Ты воспользуйся, разберись, пойми что к чему. И все равно запиши то, что тебе писали про rc и компилятор ресурсов. Ибо Image Editor поддерживает далеко не все размеры и цветности иконок. Когда понадобятся True Color иконки, придется воспользоваться компилятором ресурсов. Так что, еще раз: сохрани эту ветку.


 
Ketmar ©   (2006-10-15 23:53) [36]

более того: когда захочется в ресурс запихать нечто странное, тут imagedit вообще не поможет.

зыж imagedit первым посоветовал я. хотя это и не принципиально. %-))


 
Albenous ©   (2006-10-15 23:58) [37]


> imagedit первым посоветовал я

Извиняюсь.
Вожможно я как CD-Rom - с первого прочтения не все беру.
А за советы - еще раз спасибо всем.


 
_Ламер_   (2006-10-15 23:59) [38]

Аффтар))
Жмёшь правой кнопкой мыши по rc файлу и выбираешь "открыть с помощью". Что там выбрать - уже сказали. И не надо нигде никаких путей прописывать. Если синтаксис rc файла верный, то res файл окажется в этой же директории.
А иконки лучше создавать в AWicons Pro - любой размер, любая глубина цветов.


 
Albenous ©   (2006-10-16 00:00) [39]


> Когда понадобятся True Color иконки, придется воспользоваться
> компилятором ресурсов.


Какой компилятор? А качество не потеряется?


 
Ketmar ©   (2006-10-16 00:09) [40]

>[39] Albenous(c) 16-Oct-2006, 00:00
>Какой компилятор? А качество не потеряется?
вернее будет сказать "компоновщик". ибо ему пофигу, что там в файлах лежит. он не разбирается, он кладёт что видит.



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.047 c
15-1161867385
TIF
2006-10-26 16:56
2006.11.12
Про реестр


15-1161356781
Gero
2006-10-20 19:06
2006.11.12
Рефакторинг в Delphi 2006


15-1161338522
зритель
2006-10-20 14:02
2006.11.12
умер Эммануил Виторган


2-1161933623
Ingwar
2006-10-27 11:20
2006.11.12
array of string


2-1161619167
AlexanderMS
2006-10-23 19:59
2006.11.12
Расплывчатые иконки, и как с ними бороться.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский