Ota yhteyttä Tukipalvelu 

Bugi ja kuinka se korjattiin

BLOGI | 18.10.2016

Artikkelin otsikkokuva.

Jotkut asiakkaistamme ovat raportoineet, että AutomateWorks voi aiheuttaa ongelmia malleissa, jotka sisältävät ulkoisen design tablen. Ongelma on ilmennyt siten, että ulkoisen design tablen lisääminen malliin epäonnistuu katalaan ja kovin vähän mitään kertovaan virheilmoitukseen ”Failed to launch server application”. Valppaat käyttäjät havaitsivat, että virheilmoitusta ei tule, jos AutomateWorksin Excel Add-in poistetaan käytöstä. Jäljet johtivat siis sylttytehtaalle, joten käärimme hihat ja otimme lähdekoodin suurennuslasin alle.

 

Kuunteleminenkin voi olla aktiivista toimintaa

Tällä kertaa virheilmoituksen syyn löytäminen ei kuitenkaan ollut aivan yksinkertaista. Excelissä oleva AutomateWorksin Add-in ei varsinaisesti tee mitään ennen kuin käyttäjä tulee painaneeksi jotain AutomateWorksin työkalupalkissa olevaa painiketta. Silti oli ilmeistä, että se oli jotenkin pelkällä läsnäolollaan osasyyllinen virheilmoitukseen. Tarkempi testaus rivi riviltä osoitti, että AutomateWorksin puolella ei edes tapahtunut mitään todellista virhetilannetta, mikä olisi voinut aiheuttaa virheilmoituksen. Ongelma vaikutti katalasti ratkaisemattomalta mysteeriltä.

Salaisuuden verho alkoi raottua, kun sovelsimme ongelman ratkaisussa poissulkumenettelyä. Poistamalla koodia Add-inin käynnistysrutiinista rivin kerrallaan pääsimme tilanteeseen, jossa virheilmoitusta ei enää tapahtunut SOLIDWORKSin puolella ja design table toimi jälleen normaalisti. Virheen varsinainen syy ei vielä selvinnyt, mutta havaitsimme sen liittyvän Excelin tapahtumien kuuntelemiseen.

Kuuntelemalla Excelin tapahtumia Add-In yrittää päätellä voiko käyttäjä painaa työkalupalkissa olevia painikkeita. Jos esimerkiksi aktiivinen työkirja ei ole AutomateWorksilla tehty konfiguraattori, työkalupalkin painikkeet muuttuvat harmaiksi. Osoittautui, että SOLIDWORKSin avatessa ulkoisen design tablen Add-in yrittää siinäkin tapauksessa parhaansa mukaan pitää painikkeet järkevässä tilassa, vaikka se ei siinä tilanteessa olekaan käyttäjän kannalta relevanttia.

 

Syyllinen kunnes toisin todistetaan?

Virhetilanteen perinpohjainen tutkiminen johti lopulta siihen, että keksimme tehdä kokeeksi erillisen, AutomateWorksista riippumattoman sovelluksen, joka ei tehnyt mitään muuta kuin kuunteli korvat höröllä Excelin ilmoittamia tapahtumia. Huomasimme, että se aiheuttaa täsmälleen saman virhetilanteen SOLIDWORKSissa silloinkin, kun työasemalle ei ole asennettu AutomateWorksia. Toisin sanoen ongelma ei johtunut pelkästään AutomateWorksista, vaan todennäköisesti mikä tahansa muukin Excelin tapahtumia kuunteleva sovellus aiheuttaa saman virhetilanteen SOLIDWORKSissa. Kyseessä on siis ohjelmointivirhe joko SOLIDWORKSin tai Excelin lähdekoodissa. Teemme tästä tukipyynnön SOLIDWORKSille ongelman ratkaisemiseksi.

Pääsimme kuitenkin virheilmoituksesta lopulta eroon muuttamalla AutomateWorksin koodia niin, että Add-in ei kuuntele Excelin antamia ilmoituksia ensinkään. Työkalupalkkia muutettiin niin, että painikkeiden tilaa ei muuteta missään tilanteessa harmaaksi. Vastaisuudessa jos jotain painiketta tulee painaneeksi epäsopivassa tilanteessa, AutomateWorks antaa virheilmoituksen. Tämä ei ole kovin eleganttia, mutta joskus on annettava periksi. Pidämme siis jatkossa painikkeiden toimintaperiaatteen yksinkertaisena, kunnes toivon mukaan ongelma tulee korjatuksi SOLIDWORKSin lähdekoodissa.

Käytätkö AutomateWorksia? Lataa AutomateWorksin korjattu versio täältä.


SINUA SAATTAISI KIINNOSTAA MYÖS


Artikkelin pikkukuvake
Uutinen | 12.9.2022
Alihankintamessut 27.–29.9.2022 Tampereella: Vieraile osastollamme C819
Jokasyksyiset Alihankintamessut ovat pian käynnissä, ja tietysti myös me olemme siellä. Osastomme sijaitsee tutulla paikallaan C-hallissa. Tule tapaamaan asiantuntijoitamme ja juttelemaan vaikka entistä monipuolisemmista tavoista …
Lue lisää
Artikkelin pikkukuvake
Blogi | 6.7.2017
Haluatko päästä bugeista eroon?
SOLIDWORKS hyödyntää vahvasti käyttäjiltä tullutta palautetta tuotekehityksessään. Kun ohjelmistolla on kaksi miljoonaa käyttäjää, omat vaikutusmahdollisuudet voivat tuntua pieniltä. Ehkä mieleesi tulee ajatus, että tästä ohjelmistovirheestä …
Lue lisää
Artikkelin pikkukuvake
Blogi | 30.10.2017
Kokenutkin mallintaja saa tehoja työhönsä Perusteet-kurssilta
Nimestään huolimatta CadWorksin järjestämä Perusteet-kurssi ei ole tarkoitettu pelkästään vasta-alkajille. Kokenut mallintaja voi saada Perusteet-kurssista jopa enemmän irti kuin täysi aloittelija, joka joutuu keskittämään osan …
Lue lisää