DLL:n käyttö ja oliot

Miksi kukaan koskaan käyttäisi tänäpäivänä DLL:iä, kun niitä ei voi käyttää olio-ohjelmoinnissa koska kaikki dll-kutsut on pelkkiä c-muotoisia aliohjelmakutsuja???
14507
Äänestä

Muut lukivat myös

Vastaukset 14

Vanhimmat

dll-kirjastot liittyy olioiohon miten?

Äänestä
  • oliolioiioiohohohohoioihooohiihihihahahahaaahahahaaa!!!!!!!!!!!

    Äänestä

Onko pihalla kiva olla?

Äänestä

Millaisia IDIOOTTEJA täällä palstoilla oikein notkuu?! Mielestäni kysymys oli ERITTÄIN asiallinen.

Jos on vaikka luokka CAuto, jossa metodi Aja, niin mitenkäs sen toteutat DLL:ssä!!!

Äänestä

  • "It is better to keep your mouth closed and let people think you are a fool than to open it and remove all doubt."

    - Mark Twain

    Äänestä

1. DLL on ohjelmointikieliriippumaton.

Eli siis voit koodata DLL:n Delphillä ja silti kutsua sitä vaikkapa C:llä, C :lla tai vaikkapa Visual Basicilla tehdystä ohjelmasta. Vastaavasti voit tehdä DLL:n C:llä, ja kutsua DLL:n sisältämiä funktioita Delphi -ohjelmasta.

2. DLL on perinteisesti tarkoittanut funktiokutsuja, mutta DLL voi siältää funktion, joka palauttaa ohjelmointirajapinnan (esim. Delphissä interface).

3. OCX:t jotka sisältävät ActiveX -komponentteja, ovat teknisessä mielessä DLL:iä nekin, mutta muista DLL:stä poiketen ne noudattavat tiettyjä teknisiä standardeja ollakseen kelvollisia ActiveX -komponenttien pakkaustapoja.

esim. jos Firefox -selain käyttää Adobe Flash -laajennusta, niin Flash on tuossa yhteydessä ActiveX -komponentti, jonka avulla selain osaa näyttää flash -sisältöä, vaikkei selain itse tiedäkään, miten FLASH -sisältöä tulkitaan.

Samoin, jos koneelle on asennettu Adobe Acrobat Reader, niin se, eetä selaimet osaavat sen jälkeen näyttää pdf -sisältöä suoraan nettisivulla, perustuu jälleen kerran siihen, että pdf -lukija on toteutettu ActiveX -komponenttina, jota selaimet osaavat käyttää itselleen vierasmuotoisen sisällön (PDF) näyttämiseen.

Tai toisinpäin - Microsoft Internet Explorer osaa paitsi itse ladata ja käyttää ActiveX -komponentteja, myös itse toimia ActiveX -komponenttina; tämä mahdollistaa sen, että omatekoinen ohjelma Windows -käyttöjärjestelmässä voi sisältää nettiselaimen osana kokonaisuutta, eikä ohjelmoijan silti tarvitse osata itse koodata koko nettiselainta, riittää että osaa ladata MS Internet Explorer -ActiveX -komponentin, ja käyttää esim. .sen Navigate() -funktiota.

Äänestä
  • Hetkinen......

    sinunko mielestä delphi osaa käyttää cee koodia.

    Äänestä

  • en ole aloittaja kirjoitti:

    Hetkinen......

    sinunko mielestä delphi osaa käyttää cee koodia.

    "sinunko mielestä delphi osaa käyttää cee koodia."

    Delphi ei suoraan käännä C -lähdekoodia.

    Mutta jos C -kääntäjällä kääntää C -lähdekoodia. DLL:ksi, niin Delphi -ohjelmasta voi kutsua tuon DLL:n sisältämiä funktioita. Ja hyödyntämällä funktio-osoittimia voi myös tuosta C:llä koodatusta DLL:stä kutsua Delphi-ohjelmassa olevia funktioita, tällöin ko. funktioiden osoite täytyy välittää DLL:lle esim. funktion kutsuparametreilla.

    Sama onnistuu myös toisinpäin, eli Delphillä tehdään DLL ja kutsutaan sitä C -ohjelmasta.

    Äänestä

Olettaen, että "olio-ohjelmointilla" tarkoitat nyt luokkapohjaista olio-ohjelmointia tyyliin Java / C , niin tekisi mieli heittää vastakysymyksenä, että miksi pitäisi vaivautua koodaamaan tuohon luokkapohjaiseen oliotyyliin? Siis ottaen huomioon tuon "perinteisen" olio-ohjelmoinnin tarjoaman mallin huonot puolet ja heikkoudet? :)

Äänestä
  • olet kehno jopa aprillipilaksikin

    Äänestä

  • aprilli meni jo kirjoitti:

    olet kehno jopa aprillipilaksikin

    Miksi luulit tuota pilaksi? Vain tietämättömät ja OOP-uskovaiset luulevat, että luokkapohjainen OOP on se kauan odotettu hopealuoti.

    Jos perinteinen luokkapohjainen olio-ohjelmointi ratkaisee kaikki ohjelmoinnin ongelmat, niin miksi luokkapohjaisiin kieliin ollaan jo pitkän aikaa oltu tuomassa aspekteja, monivaiheisuutta, mixinejä, sulkeumia, jne? Koska on asioita, joiden kuvaamiseen perinteinen luokkapohjainen OOP on harvinaisen kankea työvälineenä.

    Eikö perinteisen OOPin ja OODin pitänyt olla hyviä juuri siksi, että ne niin hyvin ja helposti ymmärrettävällä tavalla kuvaavat reaalimaailman olioita? Enpä muista nyt suoralta kädeltä milloin olisin viimeksi nähnyt behavioral patternia vastaavan konkreettisen olion reaalimaailmassa.

    Prototyyppi-pohjainen OOP on enemmän minun mieleen.

    Äänestä

Kommentoi aloitusta


Perusteluja! kirjoitti:

Miksi kukaan koskaan käyttäisi tänäpäivänä DLL:iä, kun niitä ei voi käyttää olio-ohjelmoinnissa koska kaikki dll-kutsut on pelkkiä c-muotoisia aliohjelmakutsuja???

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu