Tech Articles


Git Enhancements in PowerBuilder 2017 R3


Support for using Git as a source control system without going through a bridge product was added in 2017 R2 and covered in a previous blog post.  In this blog post we're going to look at the enhancements that were added to that feature in 2017 R3. 

Read more

Avoid Potential SQL Server tempdb log file issue when switching from Table Variables to Temporary Tables in a Stored Procedure called by a Data Window retrieval


In SQL Server it is generally a good idea to use temporary tables, rather than table variables within your stored procedures. Temporary tables perform much better, particularly with large volumes of data, as SQL Server is able to compile statistics on the data in temporary tables. However, if you are calling your stored procedures from a Powerbuilder application,  you may find that the switch to temporary tables has an unwanted side effect. Here is how the unwanted side effect comes around and what to do about it. 

https://www.selecttop.co.uk/440194269
 
https://www.youtube.com/watch?v=7QK-N6dQxNg

ALTERNATIVA PARA CONSUMIR WEB SERVICES REST JSON VERSIONES ANTERIORES (6.5, … , 11.5)


Con los nuevos sistemas una de las cosas que hoy en día escuchamos es: tenemos un web services donde puedes consultar…

Por lo que ante esta necesidad y teniendo un sistema desarrollado originalmente en powerbuilder 6.5 ( les traigo esta solución.

Un “consumer” de WS REST

Para hacer este ejemplo utilizaremos objetos no visuales, principalmente el objeto internetresult.

Read more

Calling SHGetKnownFolderPath from PowerBuilder


Up through Windows XP, if you wanted to get the physical location of certain defined folders (e.g. the users Documents folder), you would use the SHGetFolderPath function in the Windows API.  Roland Smith has examples of using that on his Topwiz Software site.  That function continues to work in later versions of Windows, although it's basically a wrapper for the SHGetKnownFolderPath function.

SHGetFolderPath uses CSIDL values, whereas SHGetKnownFolderPath uses KnownFolderID GUIDs.  One difference is that there are a lot more KnownFolderIDs than there are CSIDLs.  That means some of the defined folder locations you may want to get the physical location for can't be accessed through the older SHGetFolderPath method.  And that's exactly the situation I ran into.


I needed to find the user's Downloads folder, and there isn't a CSIDL value for that.  So, I needed to see how to call the SHGetKnownFolderPath function from PowerBuilder.  As with many OLE and Windows API calls, it can save you a lot of time if you can find some Visual Basic code that does what you need to do, and you can convert the syntax.  And fortunately, I found some that did this.

Read more

How to Emulate C# Style Enumerations in PowerScript


This article describes how you can emulate C# style enumeration types in PowerScript since PowerScript currently does not support creation of custom enumerations. Personally, I found myself in need of such enumerations when interfacing to Microsoft Word/Excel using OLE Automation.

Calls to Word or Excel functions without enumerated values (or named constants) are incredibly hard to read and understand. An example:

oleDocument.Selection.Move( 10, 2)
oleDocument.Selection.Move( 12, 4)

Using C# style enumerations, the same code could read like this:

oleDocument.Selection.Move( wdUnits.Row, 2)
oleDocument.Selection.Move( wdUnits.Cell, 4)

Read more

DEPURAR EN POWER BUILDER CONSEJOS Y TRUCOS


  • Insertar un breakpoint.- Ejecute la opción de menú principal: Edit/ Insert BreakPoint
    • Requisito: Debes estar en el editor de código (script) .
  • Inicializar el depurador. Ejecute la opción de menú principal: Run / Debug nombre de su aplicación
    • Ejecute la opción Debug  / Start nombre de su aplicación
  • Ejecutar línea por línea.- F8
  • Detener el depurador.-  Debug/Stop
  • Ver el contenido de una variable.—Seleccione la variable, dar click derecho y escoger la opción quickwatch
    • Requisito: Debe estar ejecutándose la aplicación en modo de depuración

 

Truco: Algunas veces tenemos un error en tiempo de ejecución que nos hace que Powerbuilder se cierre, para localizar en donde ocurre esto la opción Depurar en tiempo de ejecución ayuda mucho.

Read more

PowerBuilder 2017 R2 New Feature: Git source control support


In a previous blog article we looked at the new feature of PowerBuilder 2017 R2 for Subversion source control support. In this blog article we're going to look at a very similar feature, Git source control support.  I'm not going to go through the history of source code support in PowerBuilder again, I'd refer you to that previous blog article for that.  We're going dive straight in to how the Git feature works.

Setting up Git

For this demo, we're going to use Bonobo Git Server.  One reason I like it is because it provide a web based admin console for managing the server, so I don't have to use the Git command line to do that.

Because it's an ASP.Net application, the machine where we're going to install it must have IIS and the .Net Framework 4.6 installed on it.  To install Bonobo Git once you've downloaded it you simply need to:

Read more

Find Articles by Tag

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