Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Recovering form definition...

Posted on 2000-04-27
3
Medium Priority
?
150 Views
Last Modified: 2010-04-04
Does anyone know if it's possible to recover the definition of a form from an executable or .dcu? I've managed to destroy my dfm and I really don't want to have to start trying to remember how the controls were linked etc...

Any Ideas?

Cheers,

Adam...

P.S. If anyone knows of a way to do this I'd be willing to up the points if it works...
0
Comment
Question by:AJFleming
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
simonet earned 400 total points
ID: 2755377
If you have the executable, it's pretty easy. The only catch is: the application MUST NOT have been compressed by an EXE compressor (like ASPack or Compress).

Here's what to do:
1) Download Resource Explorer 1.5, from my site:
http://www.bhnet.com.br/~simonet/resexp.htm

2) Unzip resexp15.zip to a directory where you want it to be installed (there's no installer)

3) Run Resource Explorer 1.5 and open the executable from which you want to extract the form definition(s).

Delphi Form Definitions are stored as resources of type RC_DATA with the name of the form. All you have to do is to click on the appropriate resource type (RT_RCDATA) and select the form.

The text displayed is the same as the "View as Text" option of the Delphi IDE when working in the form Designer.

Copy the displayed text, open Delphi, Select New Form, right-click the new form, select "View as Text", paste the text copied from Resource Explorer and save the file in a new directory, different from the one where the .PAS file is.

Now simply move the newly created .DFM file to where the existing .PAS file is and you're all set.

>If anyone knows of a way to do this I'd be willing to up the points if it works...

IT's up to you! The method described above surely works!

Yours,

Alex
0
 
LVL 1

Author Comment

by:AJFleming
ID: 2800082
Adjusted points from 50 to 100
0
 
LVL 1

Author Comment

by:AJFleming
ID: 2800083
Sorry about the delay - just found the mail notifying me  of the response to this question...

0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question