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

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