| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Повторное использование компонентов |
| Автор: kdaemonv 11.7.2008, 13:38 |
| Можно ли, и как, если можно, вытянуть из exe файла самописный компонент, чтобы можно было его повторно использовать? |
| Автор: Snowy 11.7.2008, 14:09 |
| Никак |
| Автор: mr.Anderson 11.7.2008, 14:10 |
| Никак нельзя, скорее всего. Нужны сорцы компонента, их нигде не достанешь, если они не идут с программой. Нет исходников - нет кода компонента. Добавлено через 34 секунды Ыть опять опоздал. Да что ж такое... |
| Автор: Alexeis 11.7.2008, 14:43 |
| В бинарном коде нет не только компонентов, но даже простых классов. Максимум выдрать функцию и то прийдеться пошаманить чтобы она заработала. |
| Автор: deswars 14.7.2008, 09:42 |
| Классы можна та найти, так как они отличаются от обычных переменных, о ты попробуй найти именно то что ищеш. |
| Автор: Alexeis 14.7.2008, 09:53 |
| deswars, классов не существует в экзешнике. Можно найти RTTI, структуру метакласса. Думаю, что там нет даже VMT. Все объекты в Delphi создаются в куче, в Run Time, потому их просто не может быть в экзешнике. Это не С++. |
| Автор: deswars 14.7.2008, 10:07 |
| Я хотел сказать, что можна найти, где были классы. |
| Автор: Alexeis 14.7.2008, 10:15 |
В Run Time что ли? Найти созданный объект среди дампа кучи? Добавлено через 1 минуту и 44 секунды Что именно от класса остается в экзешнике? |
| Автор: bems 14.7.2008, 18:10 |
| как это возможно? |
| Автор: Alexeis 14.7.2008, 20:40 |
А почему бы и нет? Для ее создания нужно знать точки входа в нужные функции, а саму VMT создать динамически в куче, при инициализации программы. |
| Автор: deswars 15.7.2008, 08:58 | ||
Что-то, что позволяет динамически определять класс, на который ссылается указатель( по-моему создается таблица в памяти). |