![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.12.2008
Сообщений: 266
|
![]()
Добрый день .
Возникла маленькая проблема, не пойму как решить. Пробую, до момента создания формы, из ресурса извлечь файл. Извлечь файл нужно обязательно до создание формы Почему ни чего не происходит . Делаю так : Код:
Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
показывайте res файл ваш.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 18.12.2008
Сообщений: 266
|
![]()
в файле my.rc пишу ba RES "my.dll" дальше c помощью brcc32.exe cоздаю dll.RES.
Проблема в том , что и папка не создается (CreateDir('C:\ProgramData\dll') ![]() Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
семерка?
доступ то есть?(права админа) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 18.12.2008
Сообщений: 266
|
![]()
Да windows 7, права есть .
Проблема , я понял, в том, что, при загрузке формы должна быть уже создан и быть в наличии файл my.dll. Здесь моя ошибка в неправильном подключении DLL, вернее не неправильном, а скорее преждевременном . И, вот получается визуально форма не создана, но уже подключена, а т.к. нет DLL, она не запускается, т.к. создается исключительная ситуация. Вроде так, если конечно я правильно понимаю процесс создания формы. Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя. |
![]() |
![]() |
![]() |
#6 | |
Участник клуба
Регистрация: 21.03.2010
Сообщений: 1,508
|
![]()
Давно не кодил в Delphi, а нельзя ли поставить какое-нибудь условие, на вот это дело?
Цитата:
|
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 18.12.2008
Сообщений: 266
|
![]()
Немного разобрался DLL-и, никогда с ними не работал.
Решил к проекту подключать Dll динамически , но опять возникли проблемы, вроде все делаю, как в "учебнике", а работать всё равно не желает. Посмотрите мой (переделанный bass.pas) маленький модуль, где ошибка. Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Ничего себе маленький! 36 кб!
в mybas.pas проблем не должно быть вовсе. У вас много проблем: 1. Неправильно храните dll в ресурсах. Нужен тип EXEFILE а не RCDATA. При RCDATA, EXE и DLL хранятся по другому, а после распаковки винды их уже не распознают. 2. Вообще не правильно грузите DLL из ресурсов! Ну ктож так с ресурсами-то, возится? Вот штампанул вам пример, как правильно это делать. Саму dll зыркаем в TestDLL.dpr Динам. вызов из dll в MainFormUnit.pas Выгрузка из ресурсов палится в dpr. А для начала, можно запустить Loader.exe, и посмотреть как это работает ![]() p.s. с вас + ![]() xwicked, Можно, например в dpr открывем дескриптор dll, а в Destroy формы, зыкрываем. И можно проверять, если дескриптор получен, значит продолжаем грузить программу. Иначе клоуз... Тут в общем-то только фантазия програмиста=). Но и тут при внезапном исключении, может возникнуть утечка памяти т.к. в момент исключения, dll не будет выгружена из памяти т.к. нужный нам destroy не будет вызван. _ADDED_ ах да, в примере тоже есть фэил(ввиде утечки памяти)... забыл в динам. вызове, в конце(при успешно открытом дескрипторе hLib, вызвать FreeLibrary). ---- Все я спать. 3 часа ночи. Мозг спит, а тело ещё нет. Последний раз редактировалось Человек_Борща; 08.07.2011 в 03:43. Причина: Epic fail... |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 18.12.2008
Сообщений: 266
|
![]()
Большое спасибо Человек_Борща !
Да, век живи, век учись. Интересный способ (обошел я эту информацию в свое время). Беру на вооружение. С меня + и ![]() Чего то не могу Вам добавить +, система пишит : Цитата:
Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя. Последний раз редактировалось Stilet; 08.07.2011 в 20:18. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бейсик. Вычисление момента инерции,момента сопротивления площади поперечного сечения для кольца | kostia-92 | Помощь студентам | 0 | 26.06.2011 09:58 |
Delphi Извлечение данных из файла txt | ledenec | Помощь студентам | 2 | 07.04.2010 18:19 |
извлечение из своего тела exe файла | Titan123 | Общие вопросы Delphi | 4 | 22.10.2008 19:17 |
Извлечение RGB пикселей из bmp-файла | St0ne-c0ld | Фриланс | 7 | 16.10.2008 18:27 |
Извлечение файлов проекта из .exe файла | shtuceron | Общие вопросы Delphi | 3 | 25.05.2008 18:01 |