A blogban leírtak a szerzők saját véleménye, és nem a munkáltatójuké.

Alkalmazás kompatibilitási gondok Vista alatt

Most, hogy átálltunk Vistára az egyik laborban, természetesen jelentkeztek alkalmazás kompatibilitási problémák. De mondanom se kell, hogy ezek inkább a fejlesztők hibái voltak, mintsem az operációs rendszeré. Van nekünk egy ImageDistributer nevű .NET-es alkalmazásunk, ami az UFTP nevű kis multicast másoló programot használja a háttérben a nagy méretű virtuális gépek terítésére. Ennek az első változatát én írtam, aztán egy szakdolgozat tervező hallgatóm folytatta és működőképes állapotba hozta, most pedig a hibajavítás megint visszaszállt rám:) Egész szépen meg lett tervezve és írva, valamint a funkcionalitás nagy része le is lett tesztelve. De azért a tesztelés korántsem volt teljes körű, ami egy ilyen átállásnál (új OS, 32->64 bit, új gépek) elő is jön.

  • Any platform volt beállítva a projektnek architektúrára, így a 64 bites OS-en a .NET-es alkalmazásunk 64 bites folyamatként futott. Igen ám, de így a 32 bites-es C-ben írt uftp DLL-t nem tudta betölteni. Gyors javításként lehet segíteni a corflags segédprogrammal ezen, de a szép megoldás ugye ha újrafordítjuk az alkalmazást, és bejelöljük szépen a célplatformot.
    • Tanulság: gondolni kell a 64 bites környeztre is, és tesztelni azon is.
  • Az új laptopoknak 1920×1200-as képernyőfelbontása, de ez csak úgy olvasható, ha a betűméretet megnöveljük (High DPI). Igen ám, de az alkalmazás GUI-jában voltak fixen beállított, pixelre megadott magasságú vezérlők, ott nyilvánvalóan a szöveg egy része kilógott.
    • Tanulság: High DPI beállítással is kell tesztelni az alkalmazást.
  • A fenti kettő problémát viszonylag gyorsan meg lehetett oldani, az utolsó trükkösebb volt. A Wake-on-LAN funkció nem működött az alkalmazásban. WireSharkkal ránézve látszott, hogy nem is küldi ki a mágikus csomagot (magic packet:) a hálózatra. Tűzfal rendben, hálózati beállítások rendben, a kódon nem változtattunk semmit, ez XP-n még ment. Rákeresve mások is találkoztak már ezzel, hogy bizonyos WOL-on programok nem működtek. Kerestem végül egy működő kódot, és sorról-sorra megnéztem, hogy hol tér el a mi kódunktól. A megoldás az volt, hogy a mi kódunk a 255.255.255.255 címre próbált meg küldeni UDP csomagot, és nem a subnet broadcast címre. A helyes broadcast címre küldve már ment minden simán.
    • Tanulság: érdemes megnézni pontosan a technológiát, amit használunk, és nem pongyolán implementálni:)

Ezeket átírva az új verzió már gond nélkül megy Vista alatt is. Ez csak megerősítette azt a gyanúmat, hogy az alkalmazás inkompatibilitás csak egy jó kifogás a lusta fejlesztőknek:-)

Micskei Zoltán

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>