AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi MDI-Formular nach Buttonklick erzeugen und anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

MDI-Formular nach Buttonklick erzeugen und anzeigen

Ein Thema von bioser · begonnen am 4. Nov 2005 · letzter Beitrag vom 5. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
bioser

Registriert seit: 30. Aug 2005
140 Beiträge
 
#1

MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 16:49
Hallo,

ich will nach einem Buttonklick ein MDI-Formular aufrufen und anzeigen.
Leider gibt es dabei eine Zugriffsverletzung.
Normal geht das eigentlich so:

Code:
var

myform:TmyForm;

....

//Buttonklick-Routine
myform := TmyForm.create(hauptform);
myform.Show;
Das klappt in meinem Fall aber leider nicht. Wer kann mir helfen ?

Viele Grüße
bioser
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 17:31
Hallo bioser,

wenn MyForm den FormStyle fsMDIChild besitzt, dann musst du nur noch hauptform gegen application auswechseln - dann sollte es funktionieren.

Grüße vom marabu
  Mit Zitat antworten Zitat
bioser

Registriert seit: 30. Aug 2005
140 Beiträge
 
#3

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 18:07
hi, hätte ich vielleicht noch erwähnen sollen:
Mein Hauptformular ist fsnormal, dort möchte ich auf einen Button
klicken und das MDI-Formular, das drei Kinder hat, erzeugen und
anzeigen. Erzeuge ich das MDI-Formular in der Projektdatei mit
Application.CreateForm, dann startet das Fenster zusammen mit meinem
normalen Hauptformular und alles läuft super. Nur möchte ich das ganze
per Buttonklick realisieren.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#4

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 18:17
Sorry,

das MDI-Formular muß das Hauptform einer Anwendung sein.
Das ist VCL bedingt so. Ein visble auf false des MDI Formulars wird meines Wissens nach auch ignorriert.
Vielleicht weiss jemand ob es mit visible noch einen Trick gibt..

Grüße // Martin

PS: andere Standatformulare sind aber möglich und können damit das MDI-Formular überdecken.
Martin Schaefer
  Mit Zitat antworten Zitat
bioser

Registriert seit: 30. Aug 2005
140 Beiträge
 
#5

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 18:36
Das ist ja ein Mist. Was soll ich denn jetzt machen ?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 18:52
Warum willst du unbedingt MDI und normale Fenster in einem Projekt mischen? Nicht gut ist das...

marabu
  Mit Zitat antworten Zitat
bioser

Registriert seit: 30. Aug 2005
140 Beiträge
 
#7

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 18:57
...weil es sich dabei um eine fertige MDI-Anwendung handelt, die ich
nun in einem neuen Programm verwenden will.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 4. Nov 2005, 19:21
Das ist kein Grund für die von dir geplante Sünde. Wenn die MDI-Anwendung fertig ist - wie du sagst - dann würde ich sie nicht anfassen. Wenn ein wenig Funktionalität fehlt, dann würde ich sie erweitern. Ansonsten wäre für mich auch ein Kooperationsmodell denkbar, aber nicht die Vermischung von normalen und MDI-Fenstern in einer Anwendung. Das beziehe ich weniger auf technische Aspekte, als auf Software-Ergonomie und -Ästhetik.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#9

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 5. Nov 2005, 00:06
Spätmoin,

also, das von der Asthetik, lass ich jetzt mal aussen vor. Das VCL-Konstrukt sagt lediglich, das ein MDI-Formular als erstes angezeigt wird und soweit ich weiss nich unsichtbar geschaltet werden kann. Das heißt aber auch, daß mann sofort bei Programmstart ein zweites Formular aufgehen lassen könnte und eventuell beide Formulare MDI/Normal aneinader andocken um so eine Grundfläche zu erhalten. Desweitern ist es Möglich ein MDI-Formular in der Größe zu ändern, oder in den negativen Bildschirmberecih zu verschieben, wo es auch nicht sichtbar ist. Vielleicht geht das mit dem invisilbe auch über eine Fentsermessage (also unter Umgehung der VCL). Da ist noch einiges an Experimentieren gefragt.

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
bioser

Registriert seit: 30. Aug 2005
140 Beiträge
 
#10

Re: MDI-Formular nach Buttonklick erzeugen und anzeigen

  Alt 5. Nov 2005, 08:57
Danke für Eure Antworten, aber ich glaube es ist doch besser, wenn
ich diese Sünde nicht begehe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz