Tech Articles


Defining a PostgreSQL Database Profile in PB2019R3


PB2019R3
PostgreSQL v12 database


Summary:
   Ensure that the database properties are defined correctly for the PostgreSQL database in the DB Painter.

   If those properties are not defined correctly, the PB2019R3 IDE automatically creates the PB Catalog tables in the "public" schema every time it connects to the PostgreSQL (PG) database even if the catalog tables are already defined in the named "PowerBuilder Catalog Table Owner" schema.

 

Read more

Call SOAP Web Services Using HTTPClient Object


Since PowerBuilder 2017 R2, we have a new HTTPClient object, which is a base object for sending HTTP requests and receiving HTTP responses from a resource identified by a URI. Compared to the Inet object, the HTTPClient object is easier to use and supports more methods (Get/Post/Put/Delete) and more SSL protocols (TLS 1.0, TLS 1.1, TLS 1.2, SSL 2.0, and SSL 3.0).

Among other things, the HTTPClient can be also used to consume SOAP Web services. This is particularly useful as the Web Service Proxy has many limitations and defects calling SOAP Web services such as not supporting TLS 1.2. This article is to show how you can use the new HTTPClient to call your existing SOAP Web services instead. 

Read more

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

Find Articles by Tag

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