Форум: "Основная";
Текущий архив: 2004.01.26;
Скачать: [xml.tar.bz2];
ВнизКак достать бывшее содержимое *.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 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c