Miten käännän ohjelman Delphillä niin, että se toimisi muissakin koneissa? Kyseessä Delphi 7.
Kun käännän ohjelman ja kokeilen toisessa koneessa, ohjelma ei lähe päälle vaan tulee virheilmotus että "jotain tiedostoa ei löydy"... En nyt muista tarkalleen sitä virheilmoitusta ku koulussa teen ohjelmaa..
Ohjelma käyttää iphlpapi.dll -tiedostoa, joten ongelma liittyy mahdollisesti tähän..?
Jos kyseessä on jokin Delphin perusosien ulkopuolinen DLL-tiedosto, se pitää toimittaa ohjelman mukana. Delphin omista osista ei yleensä ole koitunut harmia, kun kääntöasetus on oletuksena staattinen, mutta vielä voi yrittää etsiä projektin asetuksista sellaista "Link with runtime libraries" -rastia tai vastaavaa ja kokeilla sekä sen kanssa että ilman. Isompi exe on yleensä merkki siitä, että kaikki on tullut mukaan.
Tarkistin asian ja se ei liity tuohon iphlpapi.dll -tiedostoon, vaikka se onkin ulkopuolinen tiedosto. Ohjelma kysyy tiedostoa CPortLib7.bpl, eli netistä ladatun sarjaporttikomponentin runtime-libraryä.
Sitten ku kyseisen tiedoston laittoi /windows/system32-kansioon niin toimii. Oletuksena se hakee silti sitä delphi7/project/bpl/ kansiosta, jonne komponentin asennus teki ne tiedostot.
Komponentin asennusohjeissa luki että juuri kyseinen tiedosto pitää laittaa sinne system32-kansioon. Vaikka ei laita niin silti käännetty ohjelma toimii, jos CPortLib on asennettu...
Jännä homma vaan että kaverilla toimii toisillakin koneilla tuon ComPortLibraryn kanssa ja EXE-tiedostosta tulee paljon isompi...
No se on juuri niitä linkitysjuttuja. Jostakin asetuksista tuon saa poimittua mukaan, Googlella varmasti löytyy ohjeet. En ole nyt Delphin ääressä, niin en osaa auttaa, mutta Add to Project on yksi lupaavalta kuulostava asia, ja projektin asetukset on hyvä kahlata läpi.
Oikea kohta on: Valikosta Project->Options... sieltä välilehti Packages ja sieltä Add... ja lisäät paketin projektiin. Tarkista myös ettei kohdassa Build with runtime packages ole ruksia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.