Avatar billede mortenrisager Nybegynder
10. februar 2004 - 09:50 Der er 8 kommentarer og
2 løsninger

Kald af Function på en andet aktivt billede

Hej

Hvordan kalder man en function på et andet aktivt billede i VB6.0
Avatar billede l3kris Nybegynder
10. februar 2004 - 11:40 #1
hvis funktionen returnerer en værdi, skriver du

variabel = funktion(parametre)
- hvor parametre fx kunne være, hvilket billede der skal arbejdes med.

Du kan også skrive

Call funktion(parametre)
- men så kunne du i princippet i stedet lave en subroutine, der udførte det samme (altså ikke funktion).
Avatar billede mortenrisager Nybegynder
10. februar 2004 - 12:09 #2
Ja, det virker fint når man kalder en funktion som er defineret i det vindue hvorfra kaldet sker. Men jeg ønsker at kalde en funktion som er defineret i et andet vindue.
Avatar billede l3kris Nybegynder
10. februar 2004 - 12:31 #3
Var det så ikke nemmere at lægge funktionen i et modul som public?
Avatar billede mortenrisager Nybegynder
10. februar 2004 - 12:34 #4
Det har jeg også overvejet, men funktionen (InitDynLog) initialiserer kun lokale variable, også vil det forkert at lægge gunktionen globalt. Det ødelægger strukturen i programmet. Man skal jo også tænke på vedligeholdelse.
Avatar billede mortenrisager Nybegynder
10. februar 2004 - 13:51 #5
Tænkte du på at lægge funktionen public i modulet på billedet eller public i hele programmet ?
Avatar billede l3kris Nybegynder
10. februar 2004 - 16:27 #6
jeg ville lægge den public i et modul, så alle dele af programmet kan nå den.
Avatar billede martin_moth Mester
11. februar 2004 - 15:34 #7
Med "vindue" mener du da "form" ?

Du kan kalde en public function på en anden form ved

Formnavn.Functionnavn - ganske som var den placeret i et modul.

Hvis det ikke er det du vil må du forklare bedre - jeg fatter ikke hvad du mener med "Hvordan kalder man en function på et andet aktivt billede" ... Huh
Avatar billede mortenrisager Nybegynder
12. februar 2004 - 11:23 #8
Jeg har prøvet dit eksempel uden held:
Formnavn.Functionnavn - ganske som var den placeret i et modul.

Jeg programmerer i et lidt andet miljø (IFIX) hvor det er muligt at åbne flere vinduer samtidig (ikke form). Eks.v. har jeg 2 stk. vinduer åbne.
Den ene vindue er en logger som indhenter data fra et underliggende system. Det andet vindue bestemmer hvilke data det drejer sig om. Derfor er det nødvendigt at initialiserer logger-vinduet. Initaliserings routinen som er defineret i logger-vinduet initialiserer både lokale var, grafisk chart og fil håndtering.
Derfor skal/bør et kald ske fra det andet vindue.
Avatar billede martin_moth Mester
12. februar 2004 - 11:31 #9
Taler vi om Visual Basic?

I visual basic kan du kalde en public function eller sub fra en anden form eller et mudul ved formnavn.subnavn eller modulnavn.subnavn.

Se mere på scope of variables i hjælpen eller kik her: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconunderstandingscopeofvariables.asp

Nærmere tror jeg ikke vi kommer det
Avatar billede martin_moth Mester
12. februar 2004 - 11:32 #10
NB: Principperne for "synligheden" af functions og subs er identiske med dem for variabler - tabellen i linket gælder også for subs/functions, ikke kun variabler
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