Opening Powerbuilder datawindow design mode at runtime - memory

I need to use datawindow design mode in my application but i think there is no such function to open design mode at runtime.
In my application there is reporting module that is not perfect in the sense that there is always need to design a new report. I want to implement functionality in my application that will let user design reports the way he/she wants.
Designing the same interface as the one we use in design mode in powerbuilder is very difficult because there are no helping functions in powerbuilder.
The other option if possible to get syntax of a created window in design mode in powerbuilder can be seen or captured in a string from memory where powerbuilder is loaded. for example i design a datawindow in datawindow painter and do not close the painter. is there way to get the datawindow syntax from the memory where powerbuilder is loaded?
The best option would be the designer integrated in custom powerbuilder app instead of designing everything from scratch.

Yes, there is. It's called InfoMaker, and it's fairly inexpensive.
Give your users licensed copies of IM and let them create datawindow definitions. You can import those into your app at runtime with LibraryImport().
-Paul Horan-

In official examples "(..\Code Examples\Example App\pbexamfe.pbl)" PB there is one called "Runtime DataWindow Painter", perhaps I can help.

Related

How to show tabular data in a nice and practical way

My iOS app is a mobile version of a management program I had developed for a company as a desktop application. So its main tasks are saving data in a database and retrieve them when needed with the option to edit them. So I guess that the GUI is mainly composed by forms to fill in and tables to show data. So I am asking you if you could link me some tutorials or give me some tips on how to realize them in a nice way but not too complex. I'd rather avoid simply creating a blank view controller and inserting labels and text fields without a minimum of criterion. I am very new to iOS and XCode and, as I have not too much time, I am asking directly your opinion instead of spending hours in looking for tutorials.
UPDATE!
I mean that I would like to get something similar, for a mobile iOS device, to the following screenshots (from the desktop application I mentioned above)
Seems that you need a grid control to do it.
You can develop your own, or use existing library.
I have very good work experience with Infragistic http://www.infragistics.com/products/ios/grids/grid-view-layouts, but maybe DataForm from Telerik will be better in your case http://www.telerik.com/ios-ui/dataform

How to write a text box control on C++/CX for Windows Metro Style application?

I need to write a text box control for Metro Style app. And I need that this text box can invokes a touch keyboard, when my app runs on tablet PC.
Microsoft advices me:
If you are writing a custom text control (whether in Xaml or not) you will need to make sure it supports the UI Automation TextPattern and ValuePatterns and focus changed events
and
You will need to provide an AutomationPeer which supports the ITextProvider and IValueProvider.
But I can't to figure out what actually I need to do. I will appreciate any help.
You need to implement a UI Automation Provider; in particular, you need to implement a server-side provider. Start with the UI Automation Provider Programmer's Guide, and pay particular attention to the Document Content Provider Sample, as it demonstrates how to implement TextPattern. There are more samples as part of the Windows 8 SDK, in the samples/ui/uiautomation directory. Also, there's a very quick introduction to server-side introductions here, written by one of the architects of UI Automation.

Delphi Web Development - using TWinControl to draw objects

I want to develop a Web application in Delphi using VCL. I tried UniGUI, but it does not seem to work. Well, it works, but quite not how I wanted. Let me explain.
My problem is that I do want a library whose visual controls expose Handle to them. UniGUI does that, but it's not working correctly - for example, the main form has a Handle set to 0, but a TUniPanel has a different handle and what's more - it's always the same, even if I run the app in another window or tab.
I want to have a control which exposes its Handle correctly, because I need it for the purposes of the application I want to develop.
Do you know any other VCL library which allows me to do that? I tried Intraweb, but it does not seem to solve my problem either.
The only way I know that a web browser could host VCL code would be through an ActiveX. I wouldn't really advise you to take that approach.

How best to create a HMI display panel (user-customised interface) in Delphi

I need to improve a screen in our Application that presents an HMI (Human Machine Interface) display embedded in our Delphi code. This screen provides our customer with the ability to perform a range of actions (run test, product report etc) and to expose and view key named data values. This customisation is required because our Application controls machinery that might be operated by a range of skill levels from simple operator (may not speak English and must have very limited control) through to a power user who wishes to 'see everything' and have max control.
Some years back I created a solution based on an embedded HTML viewer (Turbopower's as it was then) and TPageProducer to dynamically tweak an HTML template (that the user could customise) and which would display a simple set of controls and data tables. This works fine but is slow to edit (you have to tweak the template and look-see the effect) and I'm sure there are better ways now.
What I need is similiar to a Delphi form that can be customised at runtime. I need: buttons, labels and edits. Editable shapes and arrows are desireable as are fixed images over which controls and text can be laid. The layout should be saveable (like a DFM file) and text labels should be of two types - fixed text and those which update to display key values on an update notification (like a DB control would). The final layout should zoom its scale to fit a resizable layout.
This question is about the best tool for the job and I'm not coming into this totally cold, I've experimented with Greatis Form Designer and obtained a working solution but before I commit, I would apprecaite comments about whether a report tool (with built-in report editor) would be possible / useable / better since a print dump feature would also be useful. (Fast Reports? Quick Report etc?). Note though that this is a display requirement primarily. Comments re newer embedded HTML solutions would also be welcome as would anything to ensure max future-proofing of the layout format.
Any solution should be useable in Dephi 7 (for now!) and does not need to be unicode as long as there is a migration path to this for newer Delphi's.
Any other comments or observations would be very welcome. Thanks.
Have you looked first at the free JVCL stuff? There's a JvInspector (RTTI component property inspector, just like Delphi property inspector), and a form designer, and so on. You could roll your own solution based on these, and even use JvInterpreter for some scripting capability.
Secondly, if you can support ANY control that you have, in your designer, and you need some HMI specific stuff, check out IOCOMP: http://www.iocomp.com/
TMS Scripter Studio Pro provides a Delphi-like IDE and form designer with scripting, but it maybe overkill for your requirements.

Tabbed document interface in Delphi

I'm considering different user interface layouts for my next project and I was wondering if there are either integrated or 3rd party frameworks which allow me to create tabbed document interface?
To clarify, what I want is not some kind of docking mechanism or either an MDI interface but primarily a framework which allows me to have one main form and one or more secondary forms which will be shown as tabs inside the main form.
Though I said I don't want any kind of docking mechanism, I made a small test application that actually uses it. The result I got is very close to what I want. First, I miss some features like the close button on each tab. Second, I'd have to create some kind of framework of my own in order to automate all tasks, like creating and destroying the tabs, associating each new form with its tab, freeing the form when the associated tab is closed and so on. I'm not saying I can't do it but I'd like to know if there are any ready-made frameworks which already have all these features. Though I'd prefer an open source solution, a commercial one is also welcome.
Third-party components are not mandatory here.
You can use standard Delphi controls to obtain what you want:
Put a TPageControl on your form (from Win32 tab);
Set its Align property to alClient;
Right click on the control, then select "New page" to add a new page.
Then don't write your "tabbed" interface on forms, but on frames.
You can also create pages by code, displaying the frame inside each page.
I don't think there is any framework for tabbed interface, but for nice looking tab/page controls with close buttons on each tab, please check the following:
rkSmartTabs, it simulates Google Chrome browser's tabbed UI. and it's open source.
TAdvOfficePager, MS Office style.
Hope it helps.
I recommend using a tool bar(TToolBar or any similar) and frames(TFrame) in order to mimic tabbed interface, reason?! well Delphi is going cross platform(no secret in that) they will port most if not all of the standard VCL shipped with Delphi, so WHY NOT use this as an advantage?
Just create the frame(dynamically) when the user clicks on a button from tool bar and destroy the previous one(if exists) so you will keep memory usage at minimum, application startup/shutdown time will be very good, on the other hand, if you chose to use (cx)TPageControl, TAdvPager, etc. you might get caught in a situation in which one form(the main I suspect) will have so many VCL's that it will take a lot of UNNECESSARY memory and it will be slow.
Using frames has a lot of advantages, if somewhere in your application you need a "tab" to be shown, you can simply create the needed frame dynamically and use it without additional work.
Anyways, this is my two cents, hope this helps.
I recommend TvjPageList, which is part of the JVCL suite of components. It's open source and seems to fit your requirements.
I use JVCL JvDocking, and its tabbed docking system, to make MDI-like applications.
You can also float, or tile your windows, in addition to having them in tabs.

Resources