Tom,

Think of the compiled EXE as being RBASE without the IDE or R> prompt.
That is what it is.
It simply runs the code in your compiled DAT file, which can be very generic 
general startup code.

Using Getproperty to retrieve the command line parameters into variables 
gives you the ability to run just about anything based on the parameters passed.
That includes external forms.

You can even have the compiled exe give you a syntax message if you start it 
without parameters, or invalid paramters.

Here is an example from my Runform.Dat to get the mental gears going:

  IF vFormName IS NULL THEN
    PAUSE 1 USING +
      'SYNTAX:RUNFORM.EXE -A formname [NOLOGIN] [application title] [PARMS 
parm1 [parm2 parm3 ....]]'
    GOTO Done
  ENDIF

You could even create a form that shows you the results of your processing the 
passed parameters for troubleshooting purposes.

My forms all expect the variables vParm1, vParm2, etc to be populated to tell 
them what I want to do.
When designing forms, I just set these variables up in Before Design to make 
development easy.


Dennis McGrath
Software Developer
QMI Security Solutions
1661 Glenlake Ave
Itasca IL 60143
630-980-8461
[email protected]
From: [email protected] [mailto:[email protected]] On Behalf Of Dan Goldberg
Sent: Wednesday, December 04, 2013 9:39 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: External form

You will only need one exe to run several different form actions based on the 
parameter passed.
 
Dan Goldberg
 
 
 
From: TOM HART 
Sent: Wednesday, December 04, 2013 7:31 AM
To: RBASE-L Mailing List 
Subject: [RBASE-L] - Re: External form
I think I understand what you are saying but does that approach only work with 
an exe file, because this is what I am trying to avoid.
Tom Hart

 
________________________________________
From: Dan Goldberg <[email protected]>
To: RBASE-L Mailing List <[email protected]> 
Sent: Wednesday, December 4, 2013 9:08 AM
Subject: [RBASE-L] - Re: External form
 
You want on app that will open differently based on the icon selected. What you 
can do is pass parameters and then when your main menu after start eep runs it 
can execute based on the parameter.
 
This is from Razzak’s previous post.
 
The ability to pass parameters to any R:BASE instance, Runtime, and
compiled application is possible using the "STARTUPPARAMSTRnnn" and
"StartupParamCount" parameters of the GETPROPERTY command.

STARTUPPARAMSTRnnn - Returns the startup parameter value by the number
specified, where "NNNN" in StartupParamStrNNNN is the a number from
0 to STARTUPPARAMCOUNT.

Notes:

. This parameter is used with STARTUPPARAMCOUNT

. If NNNN = 0 (GETPROPERTY APPLICATION StartupParamStr0 VarName),
   then VarName will always contain the executable name with path

. If NNNN > STARTUPPARAMCOUNT then VarName will contain the text:
   "-ERROR-"

-- Example to Display Parameters:

Desktop Shortcut Target contains:
   C:\RBTI\CompApp_ABC.EXE "-v" "-boss"

CLEAR VAR vCount,vParamStr0,vParamStr1,vParamStr2
GETPROPERTY Application StartupParamCount vCount
GETPROPERTY Application StartupParamStr0 vParamStr0
GETPROPERTY Application StartupParamStr1 vParamStr1
GETPROPERTY Application StartupParamStr2 vParamStr2

SET VAR vMessage TEXT = NULL
SET VAR vMessage = +
('EXE NAME:' & .vParamStr0 + (CHAR(13)) ++
  'PARAM 1 :' & .vParamStr1 + (CHAR(13)) ++
  'PARAM 2 :' & .vParamStr2 + (CHAR(13)))
CLS
PAUSE 2 USING .vMessage CAPTION 'Results' ICON INFO +
BUTTON 'Press any key to continue ...' +
OPTION MESSAGE_FONT_NAME Tahoma +
|MESSAGE_FONT_COLOR NAVY +
|MESSAGE_FONT_SIZE 11 +
|THEMENAME Longhorn
RETURN

StartupParamCount - Returns the startup parameter count for the
executable.

Notes:

. This parameter is used with STARTUPPARAMSTRnnn

Example:

GETPROPERTY Application StartupParamCount vParamCount

The above examples and many other parameters are available within
the "Application" Category of R:Docs 9.5!

Very Best R:egards,

Razzak.
 
Dan Goldberg

 
 
 
 
From: TOM HART 
Sent: Wednesday, December 04, 2013 6:52 AM
To: RBASE-L Mailing List 
Subject: [RBASE-L] - Re: External form
I understand that but what I am trying to accomplish is being able to open 
multiple apps from one main menu.  What I do now is for each button compile 
startup file for that particular app of which sometimes I might have several 
instances of that app running simultaneously eg I have a button for buying 
merchandise and at any given time be dealing with several vendors.  When I use 
the compiled version it works fine, when using PROPERTY RBASE_FORM_ACTION and 
run my app I can only get one version to run from the form.  I am just trying 
to only do one compile versus several
Tom Hart

 
________________________________________
From: A. Razzak Memon <[email protected]>
To: RBASE-L Mailing List <[email protected]> 
Sent: Wednesday, December 4, 2013 8:19 AM
Subject: [RBASE-L] - Re: External form

At 08:27 AM 12/4/2013, Tom Hart wrote:

>I have set up my external form the way Razz did by using a form_action
>to connect the database for each icon, but can I or is there a way 2
>or more menu items from the form. Under my old way I would compile my
>action for each item and launch from the icon which meant I could have
>multiple things running from 1 menu. With just connect the database
>for each icon that process stays in front of my menu.


Tom,

Technically, once the database is CONNECTed, it will remain connected
unless a DISCONNECT or EXIT command is used.

However, using the PROPERTY RBASE_FORM_ACTION CheckDBConnection ' '
will assure the database connection.

-- Custom Form Action: CheckDBConnection
IF (CVAL('DATABASE')) <> 'RRBYW18' OR (CVAL('DATABASE')) IS NULL THEN
    CONNECT RRBYW18 IDENTIFIED BY NONE
ENDIF
RETURN

Very Best R:egards,

Razzak.

www.rbase.com
www.facebook.com/rbase
-- 
30+ years of continuous innovation!
15 Years of R:BASE Technologies, Inc. making R:BASE what it is today!
-- 




Reply via email to