Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Muuttujiin kirjoittaminen

K_L [21.07.2006 11:08:25]

#

Terve,

Tässä nyt tälläinen tyhmä n00b kysymys.
Eli onko mahdollista määritellä muuttuja globaalisti niin, ettei funktiossa pystytä kirjoittamaan sen yli. Ettei siis arvo muutu edes funktion sisällä.

Eipä tässä muuta ideaa ole, mutta kun pitäisi testata ohjelmaa, joka hakee tietoja tietokannasta. Tietokantaa värkkäävät ovat prkl kesälomilla vielä. Eikä viitsis joka funktioon mennä näpertämään staattisia arvoja tarvittaville muuttujille.

Metabolix [21.07.2006 11:23:38]

#

Niitä kutsutaan vakioiksi ja ne määritellään Const-avainsanalla.

Public Const A = 32767

K_L [21.07.2006 11:46:24]

#

Joo noinhan se on.
Ongelma on siitä, että funktiossa olen luonnollisesti määritellyt muuttuja uudelleen. (siis normaalistihan mitään public const muuttujia tarvittaisi ensinkään)

Jolloin myös public const muuttujien päälle tulee paikallinen arvo.

Tämä minun ideani kuullostaa näin laitettuna hieman hölmöltä, mutta helpottaisi tulevaisuuden hommiani.

Jos vaan pystyisi hoitamaan homman ilman jo kirjoitetun koodin muuttamista. Joskus menneisyydessä kun kävi niin, että eräs koodari unohti sen debug arvon sinne funktioiden sekaan.

Metabolix [21.07.2006 11:55:57]

#

No mutta olisiko täysin mahdotonta lisätä jollakin korvaustyökalulla kaikkiin muuttujiin jokin etuliite (d_)? Sen saisi sitten nopeasti poiskin. Tai miksei voisi tietokantapätkän tilalle laittaa toistaiseksi niitä debug-arvoja, siihen viereen kun laittaa TODO-kommentin, moni IDE osaa automaattisesti varoittaa asiasta aina käännöksen yhteydessä, jolloin pienenee vaara unohtamisestakin.

Tuskin tuohon mitään patenttiratkaisua on, kun tyypillisesti kielen rakenteeseen kuuluu se, että paikalliset muuttujat näkyvät globaalien yli.

K_L [21.07.2006 12:00:14]

#

Se lienee tällä hetkellä se ainoa ratkaisu. Tai sitten vaan kymästi lähteä himaan, ja tehdä pitempää päivää elo/syyskuussa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta