{"id":591,"date":"2014-10-01T06:55:41","date_gmt":"2014-10-01T04:55:41","guid":{"rendered":"http:\/\/blog.systemconnect.dk\/?p=591"},"modified":"2015-04-25T13:42:49","modified_gmt":"2015-04-25T11:42:49","slug":"af-gammelt-jern-smedes-nye-vaaben","status":"publish","type":"post","link":"https:\/\/scblog.lynge.org\/?p=591","title":{"rendered":"&#8220;Af gammelt jern smedes nye v\u00e5ben&#8221;"},"content":{"rendered":"<p>&#8220;<span style=\"color: #000000; font-family: Calibri; font-size: medium;\">Af gammelt jern smedes nye v\u00e5ben&#8221; siger et meget gammelt dansk ordsprog.<\/span><\/p>\n<p>&#8230;og i forbindelse med Excel-integrationen i \u00e6ldre Klassiske Dynamics C5&#8217;ere p\u00e5 moderne operativsystemer som Windows 8\/8.1 og Windows Server 2012\/2012R2 kan der v\u00e6re lidt (men ogs\u00e5 kun lidt) om snakken.<\/p>\n<p>&nbsp;<\/p>\n<p>Sagen er at Klassisk Dynamics C5 f\u00f8r version 2008 brugte nogle\u00a0DLL&#8217;er i sin Office integration (ConMSE32.DLL og ConMSW32.DLL &#8211; E og W st\u00e5r i \u00f8vrigt hhv. for Excel og Word)\u00a0&#8211; og ifm. med Windows 8 og Windows Server 2012 d\u00f8r klienten med en ulovlig handling n\u00e5r de kaldes&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p>Et n\u00e6rliggende fix ville v\u00e6re at finde nogle nyere DLL&#8217;er, men de findes bare ikke. For i Klassisk Dynamics C5 2008 blev funktionaliteten\u00a0\u00e6ndret og DLL&#8217;erne udgik\u00a0&#8211; og i Klassisk Dynamics C5 2012 blev det igen erstattet af et XAC framework (som vi\u00a0s\u00e5 lige kan sige tak til\u00a0<a href=\"https:\/\/www.linkedin.com\/pub\/martin-broholm-andersen\/1\/696\/a73\" target=\"_blank\">Martin Broholm Andersen fra Broholm IT ApS<\/a> for \ud83d\ude42\u00a0&#8211; det var nemlig en hel fantastisk forbedring af Klassisk C5!)<\/p>\n<p>&nbsp;<\/p>\n<p>Men hvad hulen g\u00f8r man s\u00e5?<br \/>\nEr det en enkeltbruger Klassisk C5 p\u00e5\u00a0ny Windows\u00a0&#8211; eller en installation hvor alle brugere benytter ny Windows (Windows 8 eller nyere, eller\u00a0Windows Server 2012 eller nyere), s\u00e5 KAN man v\u00e6lge at stj\u00e6le de tilsvarende DLL-filer fra en Klassisk C5 3.0 SP3 &#8211; for det &#8220;sjove&#8221; er at det faktisk umiddelbart\u00a0ser ud til at\u00a0virke. Men n\u00e6ppe super stabilt?<\/p>\n<p>&nbsp;<\/p>\n<p>MEN, MEN, men &#8211; det er jo ikke den helt\u00a0rigtige l\u00f8sning, for moderne Excel og Word har problemer med de gamle DLL&#8217;er.\u00a0Pudsigt nok er det ikke lykkedes os at f\u00e5 Klassisk C5 3.0SP3\u00a0DLL&#8217;ere til at fungere korrekt p\u00e5 knap s\u00e5 nye Windows-udgaver som fx Windows 7 og Vista eller Windows Server 2005 og 2008. S\u00e5 k\u00f8rer du ogs\u00e5 Klassisk C5 p\u00e5 de operativsystemer, er det absolut IKKE vejen frem&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p>Men hvad g\u00f8r man s\u00e5?<\/p>\n<p>Er din Klassiske C5 applikation nyere end 4.0 (dvs. 2008, 2010 og 2012), s\u00e5 b\u00f8r du omskrive din egen kode til at bruge Excel og Word\u00a0funktionaliteten\u00a0i den Klassiske C5 version du nu k\u00f8rer p\u00e5. Der er intet i standardapplikationen der bruger DLL&#8217;erne, s\u00e5 det m\u00e5 v\u00e6re noget du selv har glemt at opgradere :-).<\/p>\n<p>Naturligvis er det nye XAC i Klassisk C5 2012 at foretr\u00e6kke &#8211; s\u00e5 overvej at opgradere hele Klassisk C5&#8217;eren til nyeste Klassisk C5 2012 nu hvor du er i gang&#8230;<\/p>\n<p>Som regel er det\u00a0langt bedre l\u00f8sninger\u00a0end at bruge 10 \u00e5r gamle DLL&#8217;er :-).<\/p>\n<p>&nbsp;<\/p>\n<p>Er din applikation ikke Klassisk C5 2012 og er det for omst\u00e6ndigt at opgradere, s\u00e5 kan du desv\u00e6rre ikke &#8220;bare&#8221;\u00a0backporte de n\u00f8dvendige XAC-elementer i applikationen\u00a0til den applikation du nu k\u00f8rer i&#8230; Det vil nemlig\u00a0kr\u00e6ve en kerneopgradering\u00a0til Klassisk C5 2012 (<a title=\"Kernen falder aldrig langt fra applikationen\" href=\"http:\/\/blog.systemconnect.dk\/?p=517\">se evt. vores blog-indl\u00e6g om det her!<\/a>), men\u00a0da XAC-elementerne bruger kernefunktionalitet fra C5 2012 der bliver sl\u00e5et fra n\u00e5r du k\u00f8rer med -Qxxx mindre end -Q440 s\u00e5 vil det IKKE fungere&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p>Men der\u00a0findes stadig en mulighed for dem p\u00e5 \u00e6ldre Klassisk Dynamics C5&#8217;ere: Martin fra Broholm IT ApS s\u00e6lger\u00a0i skrivende stund stadig\u00a0XAC-elementerne til \u00e6ldre versioner af Klassisk Dynamics C5 (fra version 2.1 og frem).<\/p>\n<p>Det er ikke helt samme l\u00f8sning, for XAC bruger som sagt Klassisk Dynamics C5 kernefunktionalitet som netop f\u00f8rst kom i Klassisk Dynamics C5 2012. S\u00e5 Martins oprindelige l\u00f8sning indeholder en XAC.DLL der indeholder den n\u00f8dvendige funktionalitet. Og som formentligt ogs\u00e5 virker p\u00e5 Windows 8+ \/ Windows Server 2012+ (ellers er det bare at f\u00e5 Martin til at fixe det \ud83d\ude42 ).<\/p>\n<p>V\u00e6rd at n\u00e6vne er ogs\u00e5 at det ikke er en 100% 1:1 l\u00f8sning ift. det der er i Klassisk Dynamics C5 2012 &#8211; der er mindre forskelle bl.a. i &#8220;lifetime management&#8221;, hvor Klassisk Dynamics C5 2012 automatisk\u00a0rydder op efter sig &#8211; det g\u00f8r Martins DLL-version ikke.<\/p>\n<p>Er du interesseret i Martins XAC-l\u00f8sning til Klassisk Dynamics C5 f\u00f8r version 2012? S\u00e5 fang ham p\u00e5 <a href=\"https:\/\/www.linkedin.com\/pub\/martin-broholm-andersen\/1\/696\/a73\" target=\"_blank\">LinkedIN<\/a> og husk at hilse fra\u00a0Systemconnect :-).<\/p>\n<hr \/>\n<p>Tilf\u00f8jet 25.04.2015: Klassisk Dynamics C5 version 2008 og 2010 (og muligvis ogs\u00e5 tidligere) har problemer med at vise Excel n\u00e5r der afvikles p\u00e5 en 64 bits Windows 8.1. Fejlen er b\u00e5de set med Excel 2007 og 2013 (begge 32 bit) &#8211; og viser sig ved at Excel ikke vises. Startes Excel derefter med et andet regneark, vises C5-regnearket dog ogs\u00e5.<\/p>\n<p>Henrik Hansen fra Microsoft har dog fundet et fix som jeg lige vil dele her: COMPRINTEXCEL.FNC funktionen rettes s\u00e5ledes (de to fremh\u00e6vede linjer er justeret som anf\u00f8rt i kommentaren:<\/p>\n<pre>[...]\r\n\/\/\r\nSET COMPush(&amp;HCOM, &amp;HCOM)\r\n<strong>SET COMPushVariant(&amp;HCOM, 'VT_BOOL', '-1' ) \/\/ \"TRUE\" er \u00e6ndret til \"-1\"<\/strong>\r\nSET &amp;HR = COMPut(&amp;HCOM, 'Visible', 0)\r\n#ShowError(&amp;CMD+':'+'COMPut,Visible')\r\n\/\/\r\nSET COMPush(&amp;HCOM, &amp;HCOM)\r\n<strong>SET COMPushVariant(&amp;HCOM, 'VT_BOOL', '-1' ) \u00a0\/\/ \"TRUE\" er \u00e6ndret til \"-1\", er muligvis ikke n\u00f8dvendig, men skader tilsyneladende ikke<\/strong>\r\nSET &amp;HR = COMPut(&amp;HCOM, 'UserControl', 0)\r\n#ShowError(&amp;CMD+':'+'COMPut,UserControl')\r\n[...]\r\n\r\n<\/pre>\n<p>Se evt. indl\u00e6gget om fejlen p\u00e5 Klassisk Dynamics C5 forum ved at <a href=\"https:\/\/social.microsoft.com\/Forums\/da-DK\/3968bb1c-3ce0-4a46-9691-505fc525bb22\/kan-ikke-udskrive-til-excel?forum=c5\" target=\"_blank\">klikke her<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Af gammelt jern smedes nye v\u00e5ben&#8221; siger et meget gammelt dansk ordsprog. &#8230;og i forbindelse med Excel-integrationen i \u00e6ldre Klassiske Dynamics C5&#8217;ere p\u00e5 moderne operativsystemer som Windows 8\/8.1 og Windows Server 2012\/2012R2 kan der v\u00e6re lidt (men ogs\u00e5 kun lidt) &hellip; <a href=\"https:\/\/scblog.lynge.org\/?p=591\">L\u00e6s resten <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,6,4],"tags":[30,15,43,13,11,54,29,23,53,20,7],"class_list":["post-591","post","type-post","status-publish","format-standard","hentry","category-klassisk-c5","category-klassisk-c5-support","category-klassisk-c5-teknik","tag-bug","tag-business-solutions","tag-c5","tag-damgaard-data","tag-dynamics","tag-dynamics-c5","tag-fejl","tag-hint","tag-klassisk-c5","tag-udokumenteret","tag-versioner"],"_links":{"self":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=591"}],"version-history":[{"count":10,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/591\/revisions"}],"predecessor-version":[{"id":722,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/591\/revisions\/722"}],"wp:attachment":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}