Sluiten vensters bij 2 of meer open

Geef hier je beste Liberty BASIC tips door. (Hier geen hulp vragen)

Moderators: anthonio, Abcott

Sluiten vensters bij 2 of meer open

Berichtdoor KeesW » vr maart 26, 2010 11:28 am

Als er meerdere vensters na elkaar geopend zijn en je sluit daarna het tweede of volgend scherm, b.v. via een button, zal bij het sluiten van een ander scherm via het schermkruis (rechtsboven) een fout melding komen komen omdat het programma de verkeerde quit-routine aanroept en wel de quitroutine van het reeds gesloten scherm.

In dat geval kan de volgende aanpak hulp bieden. :D

Code: Selecteer alles
UpperLeftX = 200 : UpperLeftY = 200
'nomainwin

button #1.1 "button", knop, ul,30,30
open "Eerste venster" for window as #1
#1 "trapclose quit handle$"         'SLUIT HET SCHERM VIA EEN SUB ROUTINE
wait

sub knop h$
call twee           'maak tweede scherm
end sub

sub quit handle$        'SLUIT DE VENSTERS AFHANKELIJK VAN DE WAARDE VAN DE HANDLE
print handle$
select case handle$
case "#1"
close #1
case "#2"
close #2
end select
end sub


sub twee
button #2.1 "button", knop2, ul,30,30
open "Tweede venster" for window as #2

#2 "trapclose quit handle$"      'SLUIT HET SCHERM VIA EEN SUB ROUTINE

wait

'NIET MEER IN GEBRUIK------ geeft de fout 'handle$ bestaat niet'
'[q]
'close #2            'Gaat hier naartoe bij indrukken van kruis op het eerste scherm, dus fout, immers scherm is bij
                        'vorige handeling gesloten en de handle is niet meer van toepassing
'----------------------------------
end sub

sub knop2 h$
'--------Niet meer ingebruik --------
'close #2            'Sluit het tweede scherm
'----------------------------------------
handle$="#2"
call quit handle$   'SLUIT HET SCHERM VIA EEN SUB ROUTINE
end sub             'Blijt hier steken, gaat niet terug naar aanroepende opdracht, de knop



KeesW
 
Berichten: 23
Geregistreerd: do dec 10, 2009 2:32 pm

Keer terug naar Tips en informatie

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron