[Hyppäsin pois Run-time type information -säikeestä, kun meinasi mennä off-topiciksi]
Ajonaikaiselle ohjelman rakenteiden muokkaukselle voi keksiä lukemattomia eri käyttötarkoituksia. Annan tässä vain yhden esimerin juuri sopivasti tänä aamuna saamastani sähköpostista. Se sisälsi koodia, joka käyttää ajonaikaiseen koodin muokkaukseen julkaisemaani Python-kirjastoa. Koodi ja kirjasto eivät toimineet yksiin ihan moitteettomasti, joten sain tietää asiasta.
Eräs porukka, jolta on tulossa uusi Linux-distribuutio, tekee mm. Emesene-nimiseen ohjelmaan (ilmeisesti jonkin sortin instant messenger) parental controllia. He haluavat toteuttaa sen pluginnina.
Plugin toimii hieman eri tapaan kuin ne tyypillisesti tekevät: se muokkaa ajonaikaisesti alkuperäistä ohjelmaa käärimällä omaa koodia mm. uuden keskustelun aloittavan metodin ympärille. Jos keskustelu pyritään aloittamaan jonkun tuntemattoman henkilön kanssa, parental controllin koodi esittää käyttäjälle virheen ja jättää kutsumatta alkuperäistä metodia. Jos taas keskustelukumppani on tunnettu, alkuperäistä metodia kutsutaan normaalisti ja keskustelu pääsee alkamaan.
Näin saadaan toteutettua täysin irrallisena moduulina ominaisuus, joka normaalisti olisi vaatinut alkuperäisen ohjelmakoodin muokkaamista. Se taas voi olla hyvinkin vaikeaa ja hidasta tällaisessa tilanteessa, missä alkuperäinen ohjelma ei ole porukan oma projekti.
Kun ohjelman rakenteita voi muokata ajonaikaisesti tällä tavalla, voi ohjelmasta tehdä huomattavasti modulaarisemman kuin perinteisemmin menetelmin.
Ajonaikainen ohjelman muokkaus
TRRY
1
334
Vastaukset
- mutta en osaa sanoa miten nyt
Ainakin aikaisemmin tuon tapaisiin käytettiin
PascalScript-komponenttia
http://remobjects.com/?ps
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli
Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei1946769- 1581975
- 1131658
- 511370
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️541185Möykkähulluus vaati kuolonuhrin
Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢441059Älä mies pidä mua pettäjänä
En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu981017Reeniähororeeniä
Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?6957Tarvitsemme lisää maahanmuuttoa.
Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan251924- 41889