GeNi's bulk

To content | To menu | To search

Powerbuilder fastfuncs patched

I have patched "fastfuncs" to provide current line number in stack trace.

You can find precompiled dll for all versions (at least those available for me) in attachments.

EmbeddingPerl project

This project was started about 4 years ago from a hack and today it is time to put it out of the box!

Continue reading...

My Datawindow DebugMachine v2.4

Long time I did not post here! The datawindow debug machine has changed again...

Continue reading...

My Datawindow DebugMachine v2.3 (updated)

The datawindow swiss knife has new features ! :-)

Continue reading...

Powerbuilder .DBG files (using /PBDEBUG)

Did you already try to produce a .dbg file by running your powerbuilder application with the /DEBUG or /PBDEBUG parameter ? It is a trace of each call and executed line, so it could help to find where an application crash in production env, but is is slow to produce (huge file).

Continue reading...

My Datawindow DebugMachine

This is a tool that help to understand a lot of situation with datawindow.

Continue reading...

Powerbuilder and regular expression

Regex will help you in text processing,

Continue reading...

Powerbuilder 11.5 rebuild message clicker

Are you used to that message ? A full rebuild is required to be compatible with the source code. Do the build now? Do you want to you project finish to be rebuild by itself without your action ?

Continue reading...

Builins functions history between Powerbuilder 10.0 to 12.5

my @versions = qw( 100 105 110 115 120 125 );

sub compare{
  my ($a, $b) = @_;
  print "Between $a and $b:\n";
  my $code = '-MPowerbuilder=":all" -e "print Sys->Dump"';
  `pbperl${a} $code > tmp${a}.txt`;
  `pbperl${b} $code > tmp${b}.txt`;
  print join $/, map{s/^[<]/-/; s/^[>]/+/;$_} grep {/^[<>]/ && !/^[<>] CLASS/} split /\n/, `diff tmp${a}.txt tmp${b}.txt`;
  unlink "tmp${a}.txt";
  unlink "tmp${b}.txt";
  print "\n\n";
  return 0;  #don't mind
}

$a = shift @versions;
while($b = shift @versions){
  compare( $a, $b );
  $a = $b;
}

Output :

Between 100 and 105:
+ 	public function byte(any v) return byte
+ 	public function getbyte(blob b,unsignedlong o,ref byte v) return integer
+ 	public function setbyte(ref blob b,unsignedlong o,byte v) return integer

Between 105 and 110:
- 	public function blob(string s) return blob
+ 	public function blob(any stringorbyetarray) return blob
+ 	public function getbytearray(blob input) return any
+ 	public function getremote(string l,ref string t,long c,boolean b) return integer
+ 	public function getremote(string l,ref string t,long c,long w,boolean b) return integer
+ 	public function getremote(string l,ref string t,string a,string p,boolean b) return integer
+ 	public function lefttrim(readonly string s,boolean removealltypespaces) return string
+ 	public function righttrim(readonly string s,boolean removealltypespaces) return string
+ 	public function setremote(string l,string r,long c,boolean b) return integer
+ 	public function setremote(string l,string r,long c,long w,boolean b) return integer
+ 	public function setremote(string l,string r,string a,string t,boolean b) return integer
+ 	public function starthotlink(string l,string a,string t,boolean b) return integer
+ 	public function trim(readonly string s,boolean removealltypespaces) return string

Between 110 and 115:
+ 	public function pbgetmenustring(long h,integer i,ref string t,integer n) return long

Between 115 and 120:
+ 	public function setpointer(string s) return pointer!

Between 120 and 125:

Enumerations history from Powerbuilder 10.0 to 12.5

In this article I will explain how I extract pragmatically the enumerations differences between Powerbuilder releases using EmbeddingPerl library and the differents pbperlxxx interpreters.

Continue reading...

enumeration evolution from 10.0 to 12.0

In this article I will explain how I extract pragmatically the enumerations differences between Powerbuilder releases using EmbeddingPerl library and the differents pbperlxxx interpreters.

Continue reading...

Color codes

Here is the list of default colors of powerbuilder, given (R,G,B) and the combinated values.

Continue reading...