Вниз
Скачать: CL | DM;

Как достать бывшее содержимое *.DFM файла из откомп. *.EXE   Найти похожие ветки 

← →
KAGE ©   (2004-01-15 12:46) [0]

Подскажите plz как достать бывшее содержимое DFM-файла (описание формы) из откомпелированного exe-шника Delphi.


← →
Amoeba ©   (2004-01-15 12:51) [1]

Есть такая бесплатная программа ResourceHacker:
http://www.users.on.net/johnson/resourcehacker/
Скачай, установи, и будет тебе счастье.


← →
AKul ©   (2004-01-15 12:52) [2]

Утилитой просмотра/редактирования ресурсов.


← →
Amoeba ©   (2004-01-15 12:54) [3]


> AKul © (15.01.04 12:52) [2]
> Утилитой просмотра/редактирования ресурсов.

ResourceHacker как раз для этого и предназначен, причем заточен под Delphi


← →
Serge ©   (2004-01-15 12:57) [4]

Используй DeDe


← →
AKul ©   (2004-01-15 13:02) [5]


> Amoeba © (15.01.04 12:54) [3]


> ResourceHacker как раз для этого и предназначен, причем
> заточен под Delphi

Я знаю.
Просто когда я отсылал это сообщение, еще ни одного ответа не было.


← →
Amoeba ©   (2004-01-15 13:04) [6]


> Serge © (15.01.04 12:57) [4]
> Используй DeDe

IMHO не в тему.
А зачем? Ему же нужно описание формы, а не код (да еще на asm"е).
ResourceHacker - в данном случае это то, что надо. Содержимое DFM находится в разделе RC_DATA.


← →
Serge ©   (2004-01-15 13:14) [7]

>Amoeba © (15.01.04 13:04) [6]
При чем тут "да еще на asm"е" - в DeDe Вы случайно закладку Forms не пропустили взглядом


object Form1: TForm1
Left = 315
Top = 249
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = "Determinarea starii imprimantei fiscale"
ClientHeight = 239
ClientWidth = 517
***

Этот код появляется что в ResourceHacker что в DeDe


← →
Amoeba ©   (2004-01-15 13:16) [8]

ResourceHacker все же удобнее для работы с ресурсами, чем DeDe


← →
Карелин Артем ©   (2004-01-15 13:18) [9]

Любая программа для выдирания ресурсов пойдет. В дельфине по-моему тоже есть тако.


← →
Serge ©   (2004-01-15 13:25) [10]

>Amoeba © (15.01.04 13:16) [8]
>ResourceHacker все же удобнее для работы с ресурсами, чем DeDe
А я и не спорю что лучше и удобнее - просто предложил :)


← →
MBo ©   (2004-01-15 13:41) [11]


function ExtractDFM(ApplicationName, FormClassName: string): string;
var
AppHandle: THandle;
ResStream: TResourceStream;
ResultStream: TStringStream;
begin
Result := "";
AppHandle := LoadLibraryEx(PChar(ApplicationName), 0, LOAD_LIBRARY_AS_DATAFILE);
if AppHandle = 0 then
raise Exception.Create("Could not load application");
ResStream := nil;
ResultStream := nil;
try
ResStream := TResourceStream.Create(AppHandle, FormClassName, RT_RCDATA);
ResultStream := TStringStream.Create("");
ObjectBinaryToText(ResStream, ResultStream);
Result := ResultStream.DataString;
finally
ResultStream.Free;
ResStream.Free;
FreeLibrary(AppHandle);
end;
end;
(c) Peter Morris



← →
Юрий Зотов ©   (2004-01-15 13:41) [12]

> KAGE © (15.01.04 12:46)

Уточните - надо ПРОСТО достать DFM, или достать его ПРОГРАММНО?


← →
KAGE ©   (2004-01-15 15:58) [13]

Во-первых БОЛЬШОЕ СПАСИБО всем.
А от dfm нужно только содержание, т.е. само описание (текст). И нужно это в самой программе. (Программно).



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.006 c
14-83235
Думкин
2004-01-06 06:14
2004.01.26
С днем рождения! 6 января.


1-83188
User
2004-01-13 15:16
2004.01.26
Последняя строка файла


1-83175
New
2004-01-15 15:04
2004.01.26
OpenDialog


6-83222
Sam Stone
2003-11-21 21:57
2004.01.26
TICQClient & пример


1-83130
LordBTR
2004-01-15 15:18
2004.01.26
Формирование запроса и параллельная работа таймера.




   Наверх