|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Здравствуйте! Подскажите, пожалуйста, как получить png из ресурса, который находится dll? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 20:30 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
LoadLibrary/GetModuleHandle - FindResourceEx - LoadResource - LockResource ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 20:51 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
LoadLibraryEx(..., LOAD_LIBRARY_AS_DATAFILE) + TResourceStream ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 20:54 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Смотрите, я хотел передавать функции, которая находится в dll, id ресурса, и чтоб она возвращала png. Но, проблема в том, что кода я говорю функции какой тип данных я жду от нее, при компиляции dll выходит ошибка: [dcc32 Fatal Error] Project1.dpr(14): F2613 Unit 'PngImage' not found . Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 21:19 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Женя32, ну бл?*:!... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 21:26 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
PngImage, ау-у! Во-первых, найдите PngImage, вы его очевидно потеряли. Во-вторых, зачем вам экспортировать функцию, которая будет экспортировать ресурс, если вы можете напрямую получать этот ресурс, как вам и предлагают, через PTngImage.LoadFromResourceName? С экспортом лучше и не связывайтесь, а то ведь набегаетесь по граблям при передаче строк и объектов, как у вас изображено. В hInstance находится hModule того модуля, который вы в данный момент компилируете, будь то exe или dll. Вам надо будет только, в отличие от примера, брать не свой hInstance, а загрузить библиотеку и использовать её hModule. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 22:23 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
ъъъъъ Женя32, ну бл?*:!... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 22:52 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
white_nigger ъъъъъ Женя32, ну бл?*:!... Я самоучка... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 23:15 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Женя32, а что мешает прочитать хоть одну книгу, чтоб найти бред в четырёх строчках кода? Или почитать про отладку? Ты даже не понимаешь, что пишешь, возвращая убитый объект ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2022, 23:39 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
shalamyansky ... Во-вторых, зачем вам экспортировать функцию, которая будет экспортировать ресурс, если вы можете напрямую получать этот ресурс, как вам и предлагают, через PTngImage.LoadFromResourceName? ... Можно пример с PTngImage.LoadFromResourceName? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 08:26 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Женя32 shalamyansky ... Во-вторых, зачем вам экспортировать функцию, которая будет экспортировать ресурс, если вы можете напрямую получать этот ресурс, как вам и предлагают, через PTngImage.LoadFromResourceName? ... Можно пример с PTngImage.LoadFromResourceName? А Unit 'PngImage' ты уже нашел? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 08:42 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
ъъъъъ А Unit 'PngImage' ты уже нашел? Нет, не нашел. В главной форме PngImage нормально подключается, а вот в dll нет... Если бы в dll подключился PngImage, то, думаю, вопрос был бы решен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 09:04 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Код: pascal 1.
Вы не можете вернуть TPngImage из dll Обекты в dll и ОДНОИМЕННЫЕ объекты в EXE - это РАЗНЫЕ объекты типичная Cannot Assign TFont to TFont ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 09:16 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
ОК. Тогда как адаптировать этот код, чтоб из ресурса достать png? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 09:30 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Женя32, тебе нужно не функцию из dll импортировать, а ресурс загрузить. Переменную Png создаешь в своём приложении, а потом картинку для нее загружаешь из dll. Для этого сначала загружаешь библиотеку (dll), код ты сам в одном из ответов тут приводил. Потом, как ты сам писал тут, Код: pascal 1.
Первый параметр - хэндл библиотеки, который ты получаешь, если успешно загрузил библиотеку. Второй параметр - не PChar, как у тебя в коде, а строка. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 11:22 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Женя32, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 11:42 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
P.S. хотя и написал AnsiString/PAnsiChar, но больше уже не уверен ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 11:58 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Женя32, Лень лезть в Delphi, но подозреваю, что Graphics.PngImage в uses спасет гиганта мысли. Только в поисках PngImage, не более. Женя, добрый совет. Отложите в сторону Delphi и книги по Delphi. Почитайте что-либо более общее: как устроена память компьютера, какие разделы (сектора) памяти бывают, модели памяти Windows, что такое адресное пространство процесса, когда нужно и как можно выделять и освобождать память и кто этим занимается, как DLL соотносится с процессом, как передаются параметры и результат функций, какие бывают соглашения вызова, что такое объекты, где они находятся и как они устроены, что происходит при их создании и освобождении, что такое указатель на объект, какие бывают и как устроены строки (дельфийские и null-terminated), кто и откуда выделяет им память... Много вопросов, это далеко не все, но, честное слово, пока у вас в голове не будет лежать четкая картинка и ответы на них, не для экзаменатора, для себя, любое ваше движение будет бегом по граблям - много шишек и мало толку. К сожалению, я не могу порекомендовать конкретную литературу, но вот прямо так, по ключевым словам и идите. Простите за менторский тон, но, ИМХО, это лучший совет, который Вам тут могут дать по этой теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 12:47 |
|
Как получить ресурс из dll?
|
|||
---|---|---|---|
#18+
Женя32, эту реплику, пожалуйста, не читайте. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Самое забавное, что этот вызов может и отработать. Объект освобожден, но память, в которой он находился, еще не затерта и, скорее всего, находится в доступной куче. Так что вызывающий код, весьма вероятно, даже сможет сделать 2-3 перехода по внутренним органам еще не разложившегося трупа, прежде чем напорется на AV. Что отвлечет наблюдающего от истинной причины недоразумения и добавит ему недоумения. Магия и коварство! С передачей строки похожий фокус. Проверять не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2022, 13:08 |
|
|
start [/forum/topic.php?fid=58&msg=40127755&tid=2036700]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 424ms |
0 / 0 |