Solved

MDI application with childwins in dll's

Posted on 1998-10-07
10
216 Views
Last Modified: 2010-04-06
Hi!

I'm having a problem with an MDI application. The child windows are defined in a .dll or .bpl and I can't make it
work. In the .dll I have a function that shows the window and set's the application.handle property for the .dll to
the MDI-applications handle. When creating the window I get the following message:
    Project raised exception class EInvalidOperation with message 'Cannot create form. No MDI forms are
currently active'

Is it possible to do this? If it is, any ideas?
/Per
0
Comment
Question by:peed112097
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 10

Expert Comment

by:Jacco
ID: 1342109
A bit more down the list Westy asks the same question!

Just a remark :)

I am looking into the problem.

Regards Jacco
0
 

Author Comment

by:peed112097
ID: 1342110
I've solved the problem when using a dll,but look into my other Q if you have any idea's there! I'll be deleting this Q soon!

/Per
0
 
LVL 10

Expert Comment

by:Jacco
ID: 1342111
What was the solution?
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 

Author Comment

by:peed112097
ID: 1342112
Look at westys Q!
0
 
LVL 10

Expert Comment

by:Jacco
ID: 1342113
I can't get your solution to work. Are you sure the MDI child form is not compiled into the main EXE? I get a resource error because the application handle is wrong.

Regards Jacco
0
 

Author Comment

by:peed112097
ID: 1342114
Ok, if you send me your e-mail address I'll mail the project to you. I'm sure that the child's not in the .exe.

0
 
LVL 10

Expert Comment

by:Jacco
ID: 1342115
Jacco@HotelConcepts.COM

Thanks in advance!

Regards Jacco
0
 
LVL 2

Accepted Solution

by:
Hagen040798 earned 200 total points
ID: 1342116
Hi peed

The answer for the problem is the same answer for your question with the dynamicly loading packages and includeds Objects.
I have for my Firma yust this programmed.
TForms in Librarys-DLL's and the Loading, Creation, Destroying and unloading from the Librarys at Runtime.
Post me your E-Mail-Address and i send your a Example from my Project.
my E-Mail is HaReddmann@AOL.COM

Hagen.

0
 
LVL 2

Expert Comment

by:Thaddy
ID: 1342117
You might be interest in this little snippet.
Design your form, add action:=caFree to the formclose event!
and compile it in this dll framework. You call the dll form from your main app like so: ShowMDIChildForm(Application);

library MDIForms;
uses
  SysUtils, Classes,Forms,Windows,ChildU in 'ChildU.pas' {ChildForm};
var
  DLLApp : TApplication;
procedure MyDLLProc(Reason: Integer);
begin
  if Reason = DLL_PROCESS_DETACH then
    if Assigned(DllApp) then
      Application := DllApp;
end;
procedure ShowMDIChildForm(MainApp : TApplication);
var
  Child : TChildForm;
begin
  if not Assigned(DllApp) then begin
    DllApp := Application;
    Application := MainApp;
  end;
  Child :=TChildForm.Create(Application.MainForm);
  Child.Show;
end;
exports
  ShowMDIChildForm;
begin
  DllApp := nil;
  DLLProc := @MyDLLProc;
end.
0
 
LVL 2

Expert Comment

by:Hagen040798
ID: 1342118
Hi Per.

Have You reseived me Mail ?

Hagen.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

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…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

821 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