Results 1 to 8 of 8

Thread: Tabbed form zonder frame

  1. #1
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747

    Tabbed form zonder frame

    Ik snap er helemaal niets meer van. De borderstyle wil niet compileren als deze op bsNone wordt gezet. De unit forms staat gewoon in de uses.
    delphi Code:
    1. procedure TMyStart.Nextform(const Scherm: string);
    2. var Tabsheet    : TTabsheet;
    3.     form        : TForm;
    4.     PClass      : TPersistentclass;
    5. begin
    6.   try
    7.     Tabsheet := TTabsheet.Create(FPControl);
    8.     tabsheet.Caption := Scherm;
    9.     Tabsheet.PageControl := FPControl;
    10.     PClass   := FindClass('T' + Scherm);
    11.     Form     := TFormclass(PClass).create(Tabsheet);
    12.     Form.BorderStyle := bsNone;
    13.     form.WindowState := wsMaximized;
    14.     Form.Parent := Tabsheet;
    15.     Form.show;
    16.   except
    17.     showMessage(Scherm + ' niet gevonden');
    18.   end;
    19. end;
    Dus waarom wilt Lazarus/FPC dit niet compileren? De andere waarden doet hij wel.

  2. #2
    Silly member NGLN's Avatar
    Join Date
    Aug 2004
    Location
    Werkendam
    Posts
    5,133
    Wat is de compiler foutmelding? Is bsNone wellicht ook in een andere unit gedeclareerd? (lees: Waar kom je uit met een Ctrl-klik op bsNone?) Werkt het wel als je de constante kwalificeert met Forms.bsNone?
    Last edited by NGLN; 16-Nov-13 at 00:46.
    (Sender as TNLDUser).Signature := 'Groeten van Albert';

  3. #3
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Ik vind de code zelf ook wel errug ieuw (spreek uit: ie-joe-w)

    Je gaat eerst een heleboel creëeren en instellen, om er vervolgens middels een try...except
    halverwege achter te komen dat (potentieel) een bepaalde form niet bestaan?

    Je kunt gewoon controleren of het resultaat van FindClass (PClass) Nil is.
    TMemoryLeak.Create(Nil);

  4. #4
    Silly member NGLN's Avatar
    Join Date
    Aug 2004
    Location
    Werkendam
    Posts
    5,133
    Oei, daar had ik nog niet eens naar gekeken...

    Ik zou denk ik ook Form.Align := alClient gebruiken i.p.v. Form.WindowState := wsMaximized.
    (Sender as TNLDUser).Signature := 'Groeten van Albert';

  5. #5
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Quote Originally Posted by NGLN View Post
    Form.Align := alClient
    Mee eens, maar ik denk dat jouw eerdere suggestie zijn oorspronkelijk probleem
    op zal lossen (wélke bsNone wordt er bedoeld?).

    Ik betwijfel trouwens of je Form.Show moet aanroepen, volgens mij is z'n Visible-
    property standaard al true, maar dat even terzijde.
    TMemoryLeak.Create(Nil);

  6. #6
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    De compiler zegt dat bsNone niet gevonden wordt.
    bsNone is een onderdeel van TBorderStyle welek in de unit forms staan
    Quote Originally Posted by NGLN
    Ik zou denk ik ook Form.Align := alClient gebruiken i.p.v. Form.WindowState := wsMaximized.
    Ik dacht al dat ik de verkeerde property had genomen. Waarschijnlijk lost dat wel het probleem op.
    Quote Originally Posted by Videoripper
    Ik betwijfel trouwens of je Form.Show moet aanroepen
    Form.show zet visible toch al op true. Form.show moet wel de property OnShow triggeren. Gebeurt dat ook met form.visible := true?

    Let op: Dit is Lazarus / FPC, niet Delphi

    Eerst even dit weekend naar de nishicon

  7. #7
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Gewoon proberen John, ik ben een Pascal-man die met Delphi ogen kijkt

    Ik weet niet in hoeverre FPC gevoelig is voor de volgorde van units in de uses, maar verander
    anders eens de volgorde (zet forms.pas eens aan het einde of juist aan het begin).

    Hoe was het op Nishicon, beetje naar je zin gehad (ga je morgen ook nog)?

    Greetz,

    Peter.
    TMemoryLeak.Create(Nil);

  8. #8
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Windowstate veranderd in align en leverde 2 foutmeldingen op. Toch maar gekeken waar TBorderstyle vandaan komt. Blijkt dat deze in unit controls staat. Toegevoegd en geen fouten meer.
    Wat ik vergeten was te melden, is dat de procedure vanuit een aparte unit werd opgevraagd. Die had dus wel de unit Forms instaan, maar Tborderstyle haalt zijn gegevens uit een andere unit.
    Quote Originally Posted by videoripper
    Gewoon proberen John, ik ben een Pascal-man die met Delphi ogen kijkt
    Ook die mensen heb je nodig om een probleem op te kunnen lossen

    Hoe was het op Nishicon, beetje naar je zin gehad (ga je morgen ook nog)?
    Was een heel weekend. Ben niet eerste geworden met mijn AMV. Maar dat was wel duidelijk. Degene, die heeft gewonden, was volkomen terecht. En mijn dochter had op 1 punt na de tweede prijs. Is pas 15 onder die grote kleuters boven de 18
    Ik ga liever naar de grote con's. Meespelen met de grote bazen.

Thread Information

Users Browsing this Thread

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

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
  •