16. august 2002 - 19:14Der er
11 kommentarer og 1 løsning
Luk form
Hej Alle.
Jeg har understående sub på form2 i mit program, jeg vil gerne have at når den har udført shell kommandoen, skal programmet lukke form2. Jeg har prøvet at gøre det med "Unload Me", men så siger VB "Run time error 365, Unable to unload within this context".
Hvad gør jeg ???.
Private Sub Prog()
Dim path As String Dim retVal As String Dim pony As String path = App.path pony = App.path + "\ponyprog2000.exe output.hex"
Det kan være at jeg har forklaret det dårligt, men shell kommandoren står på form2, og det er denne der er åben, og det er også denne der skal lukkes, så jeg har prøvet med "dine forslag" og med "Unload Me", men ingen af delene virker.
Nej ingen af de 2 ovenstående vil virke, den første med "END" vil lukke hele programmet. Og den anden med form?.visible = false vil bevirke at når man så prøver at lukke programmet, vil det ikke ske, da form? stadig er aktiv, og ikke vil blive lukket !.
'------------- Form1 ------------- Private Sub Command1_Click() Form2.Show 1, Me End Sub '------------- Form1 -------------
'------------- Form2 ------------- Private Sub Prog() Dim retVal As Double Dim strPath As String strPath = "C:\WINDOWS\NOTEPAD.EXE" retVal = Shell(strPath, vbNormalFocus) Unload Me End Sub
Private Sub Command1_Click() Call Prog End Sub '------------- Form2 -------------
Jeg må desværre afvise alle indkomne forslag, da ingen af dem virker efter hensigten. >>SHJ Jeg ønsker ikke at der skal være en command bottom på form 2 da det er en Progressbar.
Hvis form1 er dit hovedvinduet i programmet så kan du måske gøre således:
---Form2--- Private Sub Prog()
Dim path As String Dim retVal As String Dim pony As String path = App.path pony = App.path + "\ponyprog2000.exe output.hex"
retVal = Shell(pony, vbNormalFocus)
Me.Hide
End Sub -----------
Det betyder jo, at formen bare skjules, og så står du med problemet, når du lukker form1, så lukker programmet ikke. Derfor skal du også gøre følgende:
---Form1--- Private Sub Form_Unload(Cancel As Integer) End End Sub -----------
Det burde løse dit problem med at programmet ikke lukker. Mvh. Pede
Jeg tror du har misforstået spørgsmålet lidt, det hele drejer sig om at jeg fra from1 via en commandbottom kalder form2 som er en processbar, og når denne har udført sin handling skal form2 lukkes igen, og IKKE hele programmet, jeg har løst problemet ved at lave en ny sub som bliver kaldt i form2´s Form_Activate, og i den nye sub kører jeg det der skal køres og bagefter siger jeg unload me til form2.
Mvh.
Christian H
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.