Avatar billede noem Nybegynder
06. juli 2006 - 13:05 Der er 4 kommentarer og
2 løsninger

start form fra funktion og vent på form lukker med at retunere

jeg skal have lavet en activeX .dll som jeg kan kalde fra et vbscript.
Dette activex skal have en metode hvor det er muligt at indtaste noget i en userform og få resultatet retuneret til vbscriptet

mit vbscript ser ca således ud:
-----
foo = createobject(mitobject)

foo.ConfigureStations

indtli vidre er jeg fået lavet følgende funktion i min klasse i vb6


public function ConfigureStations() as string

    form1.show
   
end function


men hvordan får jeg ConfigureStations funktionen til at vente med at retunere indtil brugeren har tastet ok på formen (unloaded den) ??
Avatar billede sjh Nybegynder
06. juli 2006 - 13:21 #1
Så er det noget i den stil..

Set MyClass = CreateObject("Project1.Class1")

MyClass.ShowForm

MsgBox MyClass.ConfigureStations

Set MyClass = Nothing


' -------------------- Class1 --------------------
Option Explicit

Private Sub Class_Initialize()
  ' eller Form1.Show
End Sub

Public Sub ShowForm()
  Form1.Show
End Sub

Public Function ConfigureStations() As String
  ConfigureStations = m_ConfigureStations
End Function
' -------------------- Class1 --------------------

' -------------------- Module1 --------------------
Option Explicit

Public m_ConfigureStations As String
' -------------------- Module1 --------------------

' -------------------- Form1 --------------------
Option Explicit

Private Sub Form_Unload(Cancel As Integer)
  m_ConfigureStations = "Bla bla.."
End Sub
' -------------------- Form1 --------------------
Avatar billede noem Nybegynder
06. juli 2006 - 13:34 #2
den forstår jeg ikke helt, du dim'er m_ConfigureStations... og i din funktion retunerer du den så...

vil det sige at den først retunere når værdien er sat ? eller hvordan fungerer det ?

har testet og syntes umiddelbart ikke jeg kan få det til at virke...
Avatar billede sjh Nybegynder
06. juli 2006 - 13:56 #3
Ja nu skal du bare høre :D

1. Det er meget vigtigt at du gemmer din varibal i et Module.. ellers kan du ikke overfør den vadi fra Form1 til din Class1

2. Når du bruger ShowForm() vil den starte din Form1 og når du så lukker din Form1 så setter du så den vadi du ønsker i m_ConfigureStations.

3. Nu er det så bare at hente det som står i ConfigureStations. så skulle den være der.

HUSK:
Det er meget vigtigt at du gemmer din varibal i et Module (m_ConfigureStations)
Avatar billede noem Nybegynder
06. juli 2006 - 14:12 #4
denne kode:
MyClass.ShowForm
MsgBox MyClass.ConfigureStations

retunerer en msgbox som er "" lige efter den har loadet formen efter jeg har loadet formen..

probmet er at
Avatar billede noem Nybegynder
06. juli 2006 - 14:13 #5
hov problemet er at vbscriptet ikke venter på at den form der bliver åbnet i MyClass.ShowForm lukker, men går vidre i koden så snart formen er loaded...

håber det giver mere mening..
Avatar billede noem Nybegynder
06. juli 2006 - 14:55 #6
ahhh skulle starte show form vbmodal
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