Page 1 of 3 1 2 3 LastLast
Results 1 to 15 of 35

Thread: hoe gebruik ik een tweede form (geen MDI)

  1. #1

    hoe gebruik ik een tweede form (geen MDI)

    Hallo,

    Graag wil ik een 2e form gebruiken (ik werk met twee monitors) maar dat kan geen MDI zijn want het tweede form is alleen bruikbaar binnen het oppervlak van de parent-form.

    Hoe kan je een tweede losse form ' besturen' vanuit een eerste form ?

  2. #2
    Bij MDI is het 2de form enkel bruikbaar binnen het parentform. Jij zegt net het tegeovergestelde. Wat bedoel je juist?
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  3. #3
    Bij MDI is het 2de form enkel bruikbaar binnen het parentform.

    Het tweede form wil ik buiten een 'parent' kunnen gebruiken (op het beeldscherm).
    Bij wat ik wil kan ik dacht ik geen MDI gebruiken dan toch ?

    Een tweede form kan ik wel aanmaken, maar ik ben er niet achter hoe ik deze kan 'besturen' vanuit de ander.

  4. #4
    Yay: Student(je) af
    Join Date
    Jun 2003
    Location
    Harderwijk
    Posts
    2,621
    Dan maak je met Create toch gewoon nog een instantie aan?
    Alleen niet vergeten vrij te geven en je referentie goed bewaren.
    My software never contains bugs. Perhaps just undocumented features.

  5. #5
    Hoe doe ik dat ?

  6. #6
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  7. #7
    thx! ik eens kijken!

  8. #8
    moet ik bij
    Code:
    if not Assigned(MyForm) then MyForm := TForm.Create(self);
    MyForm.ShowModal; // of MyForm.Show;
    Myform in dezelfde functie (onclick) declareren? Ik probeerde al als form maar dat gaat niet.
    Last edited by Dees; 18-Nov-04 at 22:00.

  9. #9
    Heb je dat al geprobeerd? Wat was het resultaat?
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  10. #10
    Yay: Student(je) af
    Join Date
    Jun 2003
    Location
    Harderwijk
    Posts
    2,621
    Als je met "dat gaat niet" bedoelt dat je niets ziet, dan klopt dat helemaal.
    Als je form van de klasse TMyForm is wordt in de unit van TMyForm namelijk automatisch al een globale variabele met de naam MyForm aangemaakt. Deze wordt over het algemeen (tenzij je dat uitzet in Project options) in de .dpr automatisch gevuld met een instantie met
    Code:
    Application.CreateForm(TMyForm, MyForm);
    .
    Dus als je bedoelt dat er geen extra TMyForm wordt gemaakt klopt dat, want aan de voorwaarde van je if is niet voldaan: MyForm bevat al een instantie van TMyForm.
    My software never contains bugs. Perhaps just undocumented features.

  11. #11
    nou ik krijg een foutmelding bij

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    
    begin
     if not Assigned(MyForm) then MyForm := Form2.Create(self);
     MyForm.ShowModal; // of MyForm.Show;
    
    end;
    
    end.
    [Error] Unit1.pas(29): Undeclared identifier: 'MyForm'



    vandaar (zal voortaan iets precieser zijn in mn reacties)
    Last edited by Dees; 18-Nov-04 at 22:01.

  12. #12
    Yay: Student(je) af
    Join Date
    Jun 2003
    Location
    Harderwijk
    Posts
    2,621
    Undeclared identifier wil dus zeggen dat je een identifier niet gedeclareerd hebt, ofwel:
    Heb je MyForm ergens gedeclareerd?
    Zo niet, de unit waar die wel in staat in je uses gezet?
    My software never contains bugs. Perhaps just undocumented features.

  13. #13
    ik heb nu:
    Code:
    implementation
    
    uses Unit2;
    
    {$R *.nfm}
    Als ik hem bij interfaces toevoeg krijg ik een foutmelding over dubbele declaratie.

    Myform nog niet gedeclareerd. Moet dat in dezelfde on-click functie ?
    Last edited by Dees; 18-Nov-04 at 22:01.

  14. #14
    Bingo!
    Delphi opnieuw gestart, nieuw project. Gaat nu iets doen. Ik weet niet precies wat er mis ging. Misschien was Delphi een beetje in de war of zo. Nu heb ik in ieder geval een tweede form.... we gaan verder....

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls, Unit2;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      form2: Tform2;
    
    implementation
    
    {$R *.nfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      form2:=tform2.create(self) ;
      form2.showmodal;
    end;
    
    end.
    Last edited by Dees; 18-Nov-04 at 22:02.

  15. #15

Page 1 of 3 1 2 3 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. CTTM 2003
    By Marcel in forum Koffiehoek
    Replies: 26
    Last Post: 02-Jun-03, 12:02

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •