Contact us Support 

Bugi ja kuinka se korjattiin

BLOG | 18.10.2016

Article header image

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ä.


YOU MIGHT ALSO BE INTERESTED


Article thumbnail
News | 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 …
Read more
Article thumbnail
Blog | 14.12.2017
Uusi SOLIDWORKS Admin Portal helpottaa lisenssien hallintaa
SOLIDWORKS Admin Portal antaa pääkäyttäjälle uudenlaisen kokonaisnäkyvyyden yrityksen kaikkiin lisensseihin ja käyttäjiin ja siten helpottaa niiden hallintaa. Se myös mahdollistaa Online-lisensoinnin, jonka kautta käyttäjä voi …
Read more
Article thumbnail
Blog | 3.10.2016
Yli 90 %:lla on ylläpitosopimus - Miksi ylläpito kannattaa?
Yli 90 % asiakkaistamme luottaa ylläpitosopimukseen. Se takaa sinulle asiantuntevan tukipalvelun sekä aina uusimmat versiot ja ohjelmistopäivitykset. Toimivan kokonaisuuden avulla säästät sekä työaikaasi että rahojasi, ja …
Read more