Mistä voisi johtua että formin koodissa, jossa viitataan toiseen formiin ei eräs formi "näy" esim: form2.TX_tieto.text=XXXX tulee virhetieto;Compile error "invalid qualifier" form2 on kyllä olemassa, mutta jos viitataan johonkin toiseen formiin, niin silloin toimii. ??
T. Erkki
Onko form2 sisällytetty myös projektiin? Pitkä aika kun Visual Basiccia käyttäny, muttei siihen muistaakseni muuta tarvinnu. Ei riitä että tiedosto on olemassa.
Onko jossain nähtävillä koodia vai meneekö arvailun puolelle?
Formi ("yritystiedot") johon viitataan on projektissa
osa koodista:
muistio.FileName = "" muistio.Flags = &H200000 muistio.Flags = &H8 If Aloitusikkuna.Option1.Value = True Then muistio.FileName = "\\Gk-server\Users\GK\Kannat\Gk-asetukset\yritys.txt" Else muistio.FileName = "C:\Documents and Settings\All Users\Gk-asetukset\yritys.txt" End If tiedosto = FreeFile Open muistio.FileName For Input As tiedosto Do While Not EOF(tiedosto) Line Input #tiedosto, rivi tieto(serial) = rivi serial = serial + 1 Loop Close tiedosto yritystiedot.TXyritystiedot(0).Text = tieto(1) ' TÄHÄN TULEE VIRHEILMOITUS yritystiedot.TXyritystiedot(1).Text = tieto(2) yritystiedot.TXyritystiedot(2).Text = tieto(3)
Mod. lisäsi kooditagit!
Onko TXyritystiedot form2:lla(yritystiedot) varmasti taulukkona?
Moi erkki!
Onko niin, että lomakkeen nimi (Name), johon viittaat on yritystiedot ja ko. lomakkeella on indeksoituja tekstiruutu objekteja joiden nimi on TXyritystiedot(0), TXyritystiedot(1), jne...? Jos on, niin viittauksen pitäisi toimia. Voit tarkistaa toimivuuden avamaalla design tilassa jonkun toisen formin koodi-ikkunan ja kirjoittamalla esim. Form_Load tapahtuman sisälle: yritystiedot. jolloin heti pisteen kirjoittamisen jälkeen esiin pitäisi ilmestyä pudotusvalikko jossa näkyy lomakkeen yritystiedot ominaisuudet, lomakkeelle sioitetut ohjausobjektit, julkiset (public) funktiot/aliohjemat/ominaisuudet jne. Jos em. pudotusvalikko ei ilmesty heti pisteen kirjoittamisen jälkeen on varmaa ettei projektiin sisälly lomaketta, jonka nimi on yritystiedot
Jos taas TXyritystiedot on olio, joka on johdettu UDT:stä eli käyttäjän määrittämästä tyypistä, joka on sijoitettu samaiselle lomakkeelle tyyliin:
Private Type olioType Text As String 'jne... End Type Dim TXyritystiedot(10) As olioType 'esim.
niin viittaus ei toimi toiselta lomakkeelta koska UDT:stä johdettua oliota ei voi määrittää lomakemoduulissa julkiseksi. Halutessaan täältä voi ladata esimerkin UDT-viittauksista.
Neuau33
kiitos avusta, kyllä se on niin, että pitää toimia ja olet oikeassa.
Minä vaan olen tehnyt emä-munauksen, eli olin antanut päivityksessä saman nimen uudelle muuttujalle, kuin lomakkeen nimi on. Näyttäisi VB6 olevan ymmällä asiasta ja ilmoittaa että ei ole mitään ko. nimistä object´ia.
Nyt kuitenkin pelittää, aina sitä oppii kun hölmöilee, saa monta tuntia kulumaan (hukkaan)
terv. Erkki
Aihe on jo aika vanha, joten et voi enää vastata siihen.