Håller på med en sorts texteditor och vill kolla om man har ändrat texten innan man stänger ner den. Har man det så ska en ruta komma upp (det funkar) och har man det inte så ska programet stängas, det är här det inte funkar.. ingen aning.. men prova nåt primitivare som form1.hide eller om form1 Det är ju enklare och mer korekt att skriva:vad är fel?
använder denna kod:
<code>
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = vbFormControlMenu Then
Cancel = True
If Form1.Text2.Text <> "" Then
Form3.Show
Else
Unload Form1
End If
End If
End Sub
</code>
Varfär stängs inte programet (Form1) om Text2 är tomt?Sv: vad är fel?
är hela programmet: End.
om du har tänkt att form3 är en ruta som frågar om man ska spara så
använd msgbox det är mycket enklare att hantera...
mvh
JohnSv: vad är fel?
<code>
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = vbFormControlMenu Then
If Len(Text2.Text) > 0 Then
Form3.Show
Cancel = True
End If
End If
End Sub
</code>
Dessutom tror jag det funkar. Förmodar att koden ligger i Form1?<br>
<br>
P.S.<br>
FY! Form1, Form3 och Text2. Har du inte tänkt på att ge dem vänligare nam?<br>
<br>
Förslag:<br>
Form1: frmMain, frmEditor, frmText<br>
Form3: frmSave, dlgSave, frmSaveDialog<br>
Text2: txtText<br>
D.S.<br>