Tech Articles


Generating a QR code using QRCoder


QRCoder is an open source .Net assembly for creating QR Codes.  What we're going to do is wrap that with an assembly in SnapDevelop we can use from PowerBuilder.  First thing we need to do is create a .Net standard Class Library project in SnapDevelop.

Read more

Git for a single developer


Let's say you're an independent contractor or a one person shop.  You want to take advantage of the source control features of Git, but you don't want to have to set up a server just for one developer.  Fortunately, you don't have to.  We're going to walk through the steps of connecting PowerBuilder to a local directory based repository.

Read more

Detecting a smart card insertion/removal from PowerBuilder


This is a follow up article to an earlier article I wrote called Communication with a smart card from PowerBuilder. In that article I showed how to interact with a smart card once it was inserted in the reader.  In this article, we're going to look at how we can monitor the card reader to determine when the user inserts or removes a smart card from it.

Read more

Spell checking in the new PowerBuilder 2017 Rich Text Edit Control


The original Rich Text Editing control shipped with PowerBuilder was based on an OEM of a popular third party control at the time called HighEdit. By the time 10.5 came out though, that control was quite dated and no longer supported by the vendor. As a result, in 2006 Sybase replaced that control with an OEM of another popular third party control called TX Text Control. There are licensing issues with that control though.  So with the release of PowerBuilder 2017 Appeon updated the control again, replacing the OEM of the TX Text Control with an OEM of the TE Edit Control. Note that if you encounter regressions with the new control you can switch back to the TX Text Control through a new RichTextEdit option in the Additional Properties dialog for the application object.  If you do however, you will have to obtain your own license of TX Text Control.

 

Read more

"Haunted" Apps - How to Avoid Ghost (Unresponsive) Windows


Are any of the windows in your PowerBuilder applications “haunted” by ghosts?

In the Windows operating system, the term “ghosting” is used to describe how the Desktop Window Manager visually intervenes on a user’s behalf whenever Windows believes the active, or "top-level" application window has become unresponsive. This article describes how Windows determines if a window should be ghosted and how the appearance of a window changes when it becomes ghosted. The article will also examine the common causes of an unresponsive PowerBuilder window and discuss some options for detecting, recovering from and even preventing windows with long-running processes from being ghosted.

Let’s start where most things begin… at the beginning – with an overview of the role of messages and message queues in an event-driven operating system.

Read more

DataWindow - Code Samples from CodeXchange


In this article you will find a list of Code Samples related to DataWindows for your PowerBuilder apps. These code examples are found at Appeon's CodeXChange.

 

Read more

UI Modernization - Code Samples from CodeXchange


In this article you will find a list of Code Samples related to UI Modernization of your PowerBuilder apps. These code examples are found at Appeon's CodeXChange.

 

Read more

Find Articles by Tag

REST Source Control WebBrowser OrcaScript Excel Encoding CI/CD Deployment RibbonBar Builder OAuth Application Trial Error Export Android PowerBuilder Compiler Open Source HTTPClient Elevate Conference Data PostgreSQL ODBC driver JSONParser Windows 10 Icons PBDOM Debug SQL Debugging PDFlib Validation Database Profile NativePDF DataWindow JSON PowerBuilder (Appeon) SnapObjects DLL SqlModelMapper Class Script TLS/SSL SOAP Database Table Schema UI Themes Design Migration Window Platform TortoiseGit RichTextEdit Control COM PowerBuilder .NET Std Framework UI Modernization Source Code Event Variable Text GhostScript Array PostgreSQL C# Event Handling External Functions SnapDevelop DataWindow Installation BLOB TreeView Performance Mobile Testing InfoMaker TFS Bug Linux OS Database Object Transaction Azure ActiveX Windows OS OAuth 2.0 XML Model Web API Automated Testing Encryption SqlExecutor Oracle Icon Export JSON JSONGenerator OLE .NET DataStore PowerServer Mobile Configuration SDK Jenkins License Repository Interface RibbonBar Sort Web Service Proxy PBNI Import 32-bit DevOps CrypterObject Git Stored Procedure Outlook Database CoderObject API Authorization DataType JSON iOS PDF Messagging File Authentication Database Table MessageBox Debugger WinAPI DragDrop Database Painter Database Connection SVN Import JSON PowerScript (PS) PowerServer Web UI Service .NET Assembly Event Handler PFC RESTClient Menu Syntax Visual Studio SQL Server PBVM Database Table Data Filter IDE Expression Resize 64-bit ODBC Charts Graph Branch & Merge