Simple question: where the confidence, what everything works correctly? Earlier and now, in a repository there are «crashes». But, how in advance to learn about failures? What to do if standard cures don't work?
Or we will ask other questions: how to receive the «advanced» reporting according to projects? Whether it is possible to make the accessors to data of storage, export, import, code transfer on other programming languages? Or more considerably – whether it is possible to remake storage «for itself» or to use another?
Good questions. Developers decided to us to help - provided us files of the help of «Vo27Sdk.hlp» (for version 2.7) or «Vo28Sdk.chm» (for v.2.8) on «ADAM API Reference». And impatient can find in the Internet the implemented examples or ready projects.
I made request and found the following projects:
The rational person with money will find to himself something good paid and will start using. But, the creative person - will try to find free (or shareware) the project with the open code. From this Trinity is «Columbo». His author – Ivo Wessel (he is a coauthor of the book «Ca-Visual Objects: Effective Programming»).
Disclamer (from Ivo Wessel):
This Material is provided «as is» without warranty of any kind.
Use it as you like. I'm not liable for any direct or indirect damage
or loss of data if you using this software or parts of it.
ð The prohibition of changes of a code isn't present!
Ivo supported «Columbo» before «CA-Visual Objects» v.2.7a release. Then, it began to program under iOS (iPhone and so forth).
Through any time, the «Columbo» program disappeared from the Internet. There were new releases of «CA-Visual Objects», and the «Columbo» program ceased to develop. Many forgot about it …
No, good things can't be thrown out. These days I had a good mood, I adapted «Colombo» under «CA-Visual-Objects» v.2.7.40 and «CA-Visual-Objects» v.2.8 SP3. I wrote the letter to the author and I got at it permission. And after that, I made this note.
What it was necessary to correct?
After installation of «CA-Visual-Objects» v.2.7a, there was an error in case of «Colombo» program start:
Error message:
--------------
Error Code: 33 [ DATA TYPE ERROR ]
Subsystem: BASE
Function: =>LOGIC
Argument: NIL
Requested type: LOGIC
CallStack:
DEFERROR (Line: 141)
CCPANECAPTION:EXPOSE (Line: 4)
MYAPP:START (Line: 4)
START (Line: 8)
If to look in SDK – we will see change of a code in the Control:Dispatch() method, in the field of PaintBackground() call:
METHOD Dispatch(oEvent) CLASS Control
LOCAL oEvt := oEvent AS @@event
LOCAL msg AS DWORD
LOCAL struMsg IS _winMSG
LOCAL uRet AS USUAL
// local hPar as ptr
// (return value != 0) => message was handled internally
// => DON'T call default handler
// => return EventReturnValue to caller
SELF:EventReturnValue := 0L
msg := oEvt:uMsg
DO CASE
CASE msg == WM_ERASEBKGND
IF IsMethod(SELF, #PaintBackground)
// !!! It - here
IF Send(SELF, #PaintBackground, PTR(_CAST, oEvt:wParam))
SELF:EventReturnValue := 1L
RETURN 1l
ENDIF
ENDIF
There are two good decisions: to correct ccPaneCaption:PaintBackground() returned value on logical (TRUE) or to rename a method. I renamed. The PaintBackground() method can be used not only in Expose().
Next. After appearance of «CA-Visual-Objects» v.2.8 the location of API functions (for operation with «Adam») changed. The program again ceased to be launched. But, here I understood quicker – I found where there are «old» functions, and made the last correction.
I didn't set the purpose to rewrite «Colombo». My task – «to launch» its engine. And, it is possible to change there much that. Want – do! In CA-Vo's new versions there was an opportunity to set the minimum and maximum sizes of windows, new methods of alignment controls and so forth are put. Not to mention that developers improved tools (API functions) for operation with the data store. Well, and «Colombo» changed very little, it all same as it was made by the author – Ivo Wessel.
In the photo – Ivo Wessel.
25.11.2013 г. Pencil.
P.S.: Below links for downloading of the adapted «Colombo» options for «CA-Visual Objects» v.2.7.40 and «CA-Visual Objects» v.2.8 SP3 are provided. It is recommended to set them after installation of an original packet of «Columbo» for «CA-Visual Objects» v.2.7.
P.P.S.: To me appealed to receive the file of installation of «Colombo». I wrote the letter and received the response from Ivo Wessel. In the letter he allowed me to lay out the installation «Columbo» program for Vo2.7 on the site.
The file is taken from a setup CD-ROM of «CA-Visual Objects» v.2.7.
My note: In case of a program installation the directory for installation will be offered. I recommend, as such directory not to use the directory with earlier set «CA-VO». It is better to specify something like «Columbo27».
Comments
Hi!
Thank you!
Columbo
Good work, to adapt to newer versions of vo!
I will try that for examining a large vo-project.
Best regards,
August