PowerBuilder Foundation Classes
To get the source code, fork the project into your own workspace and then use Github desktop to clone it to a local repo. Then do an Open Solution from the PowerBuilder IDE to that location.
Once you have forked the project your copy will show you when we have made additional changes and you can sync your fork to update your copy.
PFC 2025 is meant for PowerBuilder 2025 R2: PFC's message box and printed TreeView, and the Examples app and PEAT, show SVG images, which PowerBuilder shows from 2025 R2. PFC itself also works with PowerBuilder 2025 GA after a few changes to use PNG versions of its images; see pfc libs/images. The Examples app and PEAT need 2025 R2.
The pfc examples project is a catalog of small windows that each show a PFC service at work. See examples/README.md for setting it up (the EASDEMO database and the images) and for the list of examples.
peat demo app(PEAT, indemoapp): a small project estimation and tracking application built with PFC, with a ribbon, a UI theme and SVG icons. See demoapp/README.md.openid demo: signing in with an OpenID Connect identity provider (Authentik, Microsoft Entra ID, Google), the OAuth 2.0 flows, and PFC security from the provider's groups. See openid demo/README.md.smtp demo: sending mail withn_smtpclientand an OAuth 2.0 token. See smtp demo/README.md.
The PFC documentation (the User's Guide and the Object Reference, converted to Markdown and kept up to date) is in the docs repository.
The help files are PDF files, and they are not included in this repository. Download them and put them beside your application's exe:
- pfcdlg.pdf: help for the PFC dialogs, which their Help buttons open (built from the dialog help in the docs repository)
- PFCEXAMP.pdf: help for the PFC example application (Example-application-help-file)
- pfctutor.pdf: help for the PFC tutorial (PFCTUTOR-help-file-and-source)
PFC's help service (n_cst_help, started with gnv_app.of_SetHelp(True)) shows a PDF help file at a topic, in a window of the application (w_helpviewer, with the Microsoft Edge WebView2 PDF viewer) or, with gnv_app.inv_help.of_SetViewer(gnv_app.inv_help.PDFVIEWER), in the user's PDF viewer. A topic is a named destination in the PDF file: topic_<number> for a help topic number, or a name, such as the PFC dialogs' w_find. Compiled HTML Help (.chm) files are still shown with ShowHelp.
The pfc_tests project contains unit tests that use the PBUnit2025 framework (a git submodule at tests\framework). To get the framework and run the tests, see Running the PFC Unit Tests. In short, after cloning with GitHub Desktop or git clone --recurse-submodules:
pwsh -File tests\run_tests.ps1
To run them as a 64-bit executable as well (PFC calls Windows functions whose pointer and handle sizes differ between 32-bit and 64-bit):
pwsh -File tests\run_tests.ps1 -Platform 64
If you would like to contribute to the project, please watch this video: