Blogs

4GL PUB/SUB across boundaries

I saw the other day that Progress have a basic 4GL messaging server in their road map. I also saw that they are acquiring IONA technologies (http://www.progress.com/news/working-together/index.ssp), which (amongst other things) have a product (http://open.iona.com/products/enterprise-activemq) that uses Apache ActiveMQ as a messaging server.

Now, who's going to take bets on what is going to form the basis of the 4GL messaging server ? Iona (Apache ActiveMQ) or Sonic ?

We'll just have to wait and see.


Blood, sweat and oo tears

Man. What a day. I made the stupid mistake of crowing about how I'd written a OO class to use sockets, and how I could post the code. Well, I did have the code, but thought that it would be a good idea to add XML as a messaging type.

Yikes. That was not such a good thing :)

However, it's all done now, and you can download and play from http://www.oehive.org/node/1205.


Object Attribute Setter and Getter

I was playing with OOP/ABL in v10.1A, when I noticed my class unnecessarily growing because of repeatedly creating set/get methods. Some OOP language I've seen has one liner setter/getter. I thought there should be a way of having "one-liner" (well, not really) as well for 10.1A. :-)

So here goes..enhance if you must..

  /* =====================
      here's the meat!!! 
      includes/SetGet.i
     
      1 - variable name
      2 - data type
      ===================== */
     
  DEFINE PROTECTED VARIABLE {1} AS "{2}" NO-UNDO.
 
  METHOD PUBLIC "{2}" get{1}():

No-focus bug vs feature

Prior to OpenEdge 10.1, when you click a no-focus, flat button in a window the window does not get focus. It's z-order among other windows is unchanged.

In 10.1A this feature (Progress calls it a bug) is fixed. Clicking a no-focus button now sets the focus to the window containing the button.

I'm looking for a way to get the old behaviour back.


How create an INSTALLER to my Progress Programs?

Hi:
I developed a Payroll System in Progress Version 9.1E and I want to you tell me that way I can create an Installer or what program I can use to install my Payroll System in others computers.

The PCs where it is needed install the Payroll System have the next characteristics:
- Windows XP Professional and Windows 2000

I hope any solutions, thanks.


Prolint release 72 is available

This release is mainly a bugfix release. There are no bug reports left in the issue tracker anymore!

There is one new rule: andorparens looks at boolean expressions with a mix of AND and OR operators and will suggest you to use parentheses. This rule is inspired by a recent thread on PSDN, where people got in trouble because the compiler picked a different evaluation precendence than expected. With parentheses this would not have happened.

As always, download your latest copy from http://www.oehive.org/prolint/download

Bye,
Jurjen.


Prolint release 71 is available

At last! This release is way overdue because it contains rules that were submitted by Glen West months ago.

Big news: Prolint integrates with Roundtable 10.1b !! Thomas Hansen adapted the existing integration for Roundtable 9.1a-c and now it works for Roundtable 10.1b.

A little bit unfortunate for existing users, who upgrade to Prolint 71 and were already using the Roundtable integration, is that they need to update their "rtb_evnts.p" procedure. It is simple: just follow the instructions on page Repair your Roundtable Integration.


Fascinating cookbook

This site, Programming Language Examples Alike Cookbook is fascinating:
pleac.sourceforge.net
especially if you are familiar with the old "Perl Cookbook" book.

What's fascinating is that aside from Perl (which was the basis for the whole thing), Groovy is the only other language that is 100% complete in the project, even though it is a latecomer! I find that amazing, given the other languages that are listed.


Frames and Fields in the Symbol Tables

A recent client requirement got me into ProRefactor to add some more goodies to the symbol tables. The requirement was to find all database fields that could be updated in the UI for all frames in each compile unit.

It wouldn't have been too much work to write a script to walk through the syntax tree to figure this out, but it really seemed like something that should be easily available from the symbol tables. And, it seemed like something that would be easy to add to the tree parser in ProRefactor.


Syndicate content