<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Visual Basic on Remko's Blog</title><link>https://remkoweijnen.nl/blog/tags/visual-basic/</link><description>Recent content in Visual Basic on Remko's Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 02 Jan 2013 15:03:14 +0000</lastBuildDate><atom:link href="https://remkoweijnen.nl/blog/tags/visual-basic/index.xml" rel="self" type="application/rss+xml"/><item><title>Change Tab Order in an Executable</title><link>https://remkoweijnen.nl/blog/2013/01/02/change-tab-order-in-an-executable/</link><pubDate>Wed, 02 Jan 2013 15:03:14 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2013/01/02/change-tab-order-in-an-executable/</guid><description>&lt;p&gt;An application called Cardiology PACS was recently packaged for a Citrix XenApp environment. The functional tester reported a strange problem at the logon screen: after entering the username it was not possible to go to the password field with the TAB key.&lt;/p&gt;
&lt;p&gt;This was a strange observation since I cannot imagine XenApp interfering with tab stops. So what was going on?&lt;/p&gt;
&lt;p&gt;In the old situation the user was starting the application on his local pc. The application remembered the last username and pre-filled this, therefore the cursor was already in the Password field. The user simply entered his password and hit the Enter key:&lt;/p&gt;
&lt;p&gt;&lt;a class="glightbox thickbox" href="https://remkoweijnen.nl/blog/wp-content/uploads/2013/01/image.webp" data-type="image" data-gallery="post-2955"&gt;&lt;img loading="lazy" decoding="async" style="display: inline;" title="image" alt="image" src="https://remkoweijnen.nl/blog/wp-content/uploads/2013/01/image_thumb.webp" width="240" height="190" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On XenApp the Username field is not pre-filled because the last username is kept globally per machine. Therefore the user has to enter both the username and the password:&lt;/p&gt;
&lt;p&gt;&lt;a class="glightbox thickbox" href="https://remkoweijnen.nl/blog/wp-content/uploads/2013/01/image1.webp" data-type="image" data-gallery="post-2955"&gt;&lt;img loading="lazy" decoding="async" style="display: inline;" title="image" alt="image" src="https://remkoweijnen.nl/blog/wp-content/uploads/2013/01/image_thumb1.webp" width="240" height="190" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I tested the Tab key behavior in both situations and as I expected it didn&amp;rsquo;t work in both situations. This happens because the Tab Order has been messed up by the programmer (if you press Tab 9 times you do end up in the Username field).&lt;/p&gt;
&lt;p&gt;Because this is something that would annoy me if I were the user I decided to fix it.&lt;/p&gt;</description></item><item><title>Modify VB Executable to force Taskbar Button</title><link>https://remkoweijnen.nl/blog/2012/08/04/modify-vb-executable-to-force-taskbar-button/</link><pubDate>Sat, 04 Aug 2012 11:07:18 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2012/08/04/modify-vb-executable-to-force-taskbar-button/</guid><description>&lt;p&gt;&lt;a class="glightbox thickbox" href="https://remkoweijnen.nl/blog/wp-content/uploads/2012/08/image.webp" data-type="image" data-gallery="post-2693"&gt;&lt;img loading="lazy" decoding="async" style="display: inline; float: right" title="image" alt="image" align="right" src="https://remkoweijnen.nl/blog/wp-content/uploads/2012/08/image_thumb.webp" width="97" height="93" /&gt;&lt;/a&gt;I had to troubleshoot an application that was published with Citrix XenApp. The problem with this application was that it didn't have an button/icon in the taskbar and the window would sometimes disappear.&lt;/p&gt; &lt;p&gt;I noticed that this (cr)application was written in Visual Basic, so I decided to run it through a &lt;a href="http://www.vb-decompiler.org/"&gt;decompilation tool&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The decompiler was able to list the forms used in the Application:&lt;/p&gt; &lt;p&gt;&lt;a class="glightbox thickbox" href="https://remkoweijnen.nl/blog/wp-content/uploads/2012/08/image1.webp" data-type="image" data-gallery="post-2693"&gt;&lt;img loading="lazy" decoding="async" style="display: inline" title="image" alt="image" src="https://remkoweijnen.nl/blog/wp-content/uploads/2012/08/image_thumb1.webp" width="123" height="142" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Error 372 in Thinapped Visual Basic Application</title><link>https://remkoweijnen.nl/blog/2012/01/03/error-372-in-thinapped-visual-basic-application/</link><pubDate>Tue, 03 Jan 2012 22:34:29 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2012/01/03/error-372-in-thinapped-visual-basic-application/</guid><description>&lt;p&gt;&lt;a href="https://remkoweijnen.nl/blog/wp-content/uploads/2012/01/image.webp" class="glightbox" data-type="image" data-gallery="post-2270"&gt;&lt;img loading="lazy" decoding="async" style="display: inline; float: right" title="image" alt="image" align="right" src="https://remkoweijnen.nl/blog/wp-content/uploads/2012/01/image_thumb.webp" width="38" height="39" /&gt;&lt;/a&gt;Today I was troubleshooting a Thinapped Visual Basic Application. The application halts with a Run-time error '372' when trying to run a report:&lt;/p&gt; &lt;p&gt;&lt;a href="https://remkoweijnen.nl/blog/wp-content/uploads/2012/01/image1.webp" class="glightbox" data-type="image" data-gallery="post-2270"&gt;&lt;img loading="lazy" decoding="async" style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Proaz" border="0" alt="Run-time error 372 Failed to load control &amp;#39;CrystalActiveReportViewer&amp;#39; from crviewer.dll. Your version of crviewer.dll may be outdated. Make sure you are using the control that was provided with your application" src="https://remkoweijnen.nl/blog/wp-content/uploads/2012/01/image_thumb1.webp" width="419" height="79" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Microsoft KB article &lt;a href="http://support.microsoft.com/kb/942870" target="_blank"&gt;kb942870&lt;/a&gt; hints to an ActiveX component that is registered into HKCU instead of HKLM.&lt;/p&gt; &lt;p&gt;A trace with the ThinApp Log Monitor reveals that the application is looking for an ActiveX component under HKCU: &lt;br /&gt;&lt;/p&gt;</description></item></channel></rss>