Avatar billede christian_h Nybegynder
16. august 2002 - 19:14 Der 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"
 
   
    retVal = Shell(pony, vbNormalFocus)
     
  Unload Form2
   
End Sub

PFT.

MVH.

Christian H
Avatar billede johs_j Novice
16. august 2002 - 19:58 #1
Unload Me skal stå i den form der skal unloades. På form1 kan du skrive:
Form2 Unload
Avatar billede johs_j Novice
16. august 2002 - 19:58 #2
Det kan godt være du skal skrive:
Form2.Unload
Avatar billede christian_h Nybegynder
16. august 2002 - 20:16 #3
Hej Johs.

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.

Andre forslag ???.

Mvh.

Christian H
Avatar billede kantoraza Nybegynder
17. august 2002 - 09:30 #4
Hej.

Kan du ikke bare bruge "End" kommandoen?

bare skriv "End" i din kode..
Avatar billede kantoraza Nybegynder
17. august 2002 - 09:31 #5
Eller.

Form?.visible = false
Avatar billede christian_h Nybegynder
17. august 2002 - 12:46 #6
Hejsa.

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 !.

Andre forslag ????????.

Mvh.

Christian H
Avatar billede wilweb Nybegynder
17. august 2002 - 16:10 #7
Hvad med at prøve:
Exit Sub
Avatar billede wilweb Nybegynder
17. august 2002 - 16:13 #8
Åhh nej du skriver jo:

Unload form2

og du skal skrive :

Unload form

for at fjerne den aktive form fra maskinens hukommelse....
Dette burde virke!!!
Avatar billede sjh Nybegynder
17. august 2002 - 19:15 #9
Prøv Sådan:

'------------- 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 -------------
Avatar billede christian_h Nybegynder
18. august 2002 - 11:41 #10
Hej Alle.

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.

:-(

Christian H
Avatar billede pede001 Nybegynder
28. august 2002 - 23:28 #11
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
Avatar billede christian_h Nybegynder
29. august 2002 - 08:34 #12
Hej 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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester