troi logo-homeproductspurchasesupportnewsaboutliststipslinks-

FAQ part 2: Specific plug-in questions

Table of Contents | Part 1 | Part 2 | Part 3 File Plug-in | Part 4 Text Plug-in | Part 5 URL Plug-in

Activator Plug-in questions

Coding Plug-in questions

Dialog Plug-in questions

File Plug-in questions

The Troi File Plug-in has a separate page.  Go to the Troi File Plug-in FAQ

Grabber Plug-in questions

Number Plug-in questions

Serial Plug-in questions

Text Plug-in questions New!

The Troi Text Plug-in has a separate page.  Go to the Troi Text Plug-in FAQ

URL Plug-in questions New!

The Troi URL Plug-in has a separate page.  Go to the Troi URL Plug-in FAQ

Back to top

Activator Plug-in Questions

Q. Where do I implement script triggering when a user leaves a field?
You need to add a custom validation to the field you want to have a trigger. In define fields select the field to add the trigger to. Then click on the option button and select the "Validation" tab. Select the "Validation by Calculation" checkbox and enter the calculation.

The calculation will be similar to this:

External("Actr-ScheduleEvent", "-addSingleEvent|" & Status(CurrentDate) & "|" & Status(CurrentTime) & "|" & Status(CurrentFileName) & "|myScript|" & RecID & "|dontcare" )

Here "myScript" is the name of the script to trigger and RecID is an identifier of the record. In ScriptMaker you add the script "myScript" and add this step to get information out and remove the event:

Set Field [ gRecID , External("Actr-GetEventInfo", "-LastTriggered -GetYourID -DeleteThisEvent") ]


See the Validation.fp5 example in the download for more information on this.

Q. Will the Activator Plug-in track validation events within Filemaker, making it more slow?
No. The Activator Plug-in only becomes active when it gets called by FileMaker when a field is exited. So there is almost no extra overhead.

Q. Can I have several scripts in one file that triggers for field-changes or have they to be in the same script?
You can have more scripts. This makes it much clearer.

Q. Can I have a script within the same file that checks for future-events (i.e. reminder/calendar-functions) and another one for checking/validating fields?
Yes, this is possible.

Q. In a validation using an IF statement, Actr-ScheduleEvent always triggers even if the IF is false. what gives?
In the current version of FileMaker application ALL the arguments in a (sub)expression are calculated before it goes to the surrounding main expression. So if we have this calculation:

validation calc = if (1=2, a+b , c+d)

FileMaker will calculate first "a+b" and then "c+d" then returns the value of c+d as the result of the IF statement.

This will cause this calculation to always trigger myScript:

validation calc =

If(a=b , External("Actr-ScheduleEvent", "-addSingleEvent|" & Status(CurrentDate) & "|" & Status(CurrentTime) & "|" & Status(CurrentFileName) & "|myScript|" & RecID & "|dontcare" ) , 1)

To make this work you need to bring the IF to the inside. When the IF is not true the non existing external function "XYZ-BOGUSSS" is called, giving "" as a result:

validation calc =

1 + isEmpty( External( If(a=b , "Actr-ScheduleEvent", "XYZ-BOGUSSS") , "-addSingleEvent|" & Status(CurrentDate) & "|" & Status(CurrentTime) & "|" & Status(CurrentFileName) & "|myScript|" & RecID & "|dontcare" ) )

Known Issues

Q. When I try to run the activator on an 1st generation Power Macintosh it will crash. Do you have a solution?
We found a bug on older Macintosh machines that don't have a PowerPC native power manager (like an 6100 running Mac OS 8.1). We fixed this bug in a special version of the Activator plug-in. This special Activater plug-in does NOT have the sleep function, as this was causing the plug-in to load a 68k power manager, and this caused a crash at startup.

NOTE 1 Only install this version if you have problems with the regular version of the plug-in.
NOTE 2 Do not distribute it to other users as they might see it as the regular version.

You can download this version from: <http://www.troi.com/software/activatorplugin.html>.

 

Q. Can I send remote events with Activator on Citrix?
Using Troi Activator Plug-in on Citrix and remote events has a limitation: only one listener can open the same portnumber on the Citrix server. So you need to use different portnumbers for each individual listening client, then it should be working fine.

You can administrate the opened port numbers in a shared database, similar as the Remote.fp5 example in the download. When a clients starts listening store the portnumber as well. A sender can then find a client and its portnumber from this.

Q. What happens if FileMaker Pro is not running when an scheduled event is due to be triggered?New!
Nothing happens at that moment. FileMaker needs to be running and the database with the script to trigger must be open to be able to trigger the event.

If you want an event that was due to be triggered when FileMaker was not running also to trigger after FileMaker Pro is opened you can add the switch "-TriggerPastEventAfterRestart" to the Actr_ScheduleEvent function.

For example:

Set Field[result,
Actr_ScheduleEvent( "-addSingleEvent -triggerPastEventAfterRestart" ; Timestamp(Schedule::date ; Schedule::time ) ; Get(FileName); "Trigger Script 1"; "Your RecID" ; "") )]

But beware: this might result in all the 'old' scripts being triggered at almost the same time. It might be better to use a startup script to check with the help of data you stored in the database if any scripts need to be executed.
 

Back to top

Coding Plug-in Questions

Q. Is it possible to make a secure connection over the Internet, using FileMaker Network Sharing and the Troi Coding Plug-in?
Yes. This will work if you do the following:

  • Encrypt (with the plug-in) all sensitive fields that you will make available.
  • On the server side make the file multi-user (here the normal file sharing is ment, not the web-companion sharing), and make it available over the Internet.
  • On each client install the plug-in.
  • On the client side use FileMaker to open the file via the Hosts button (using TCP over the Internet).

Q. Can you use the Troi Coding plug-in and the web companion to make a secure connection with a web browser?
No, the web browser on the client side would not know how to decrypt the encrypted data.

Q. Which encryption is used in the Troi Coding plug-in? How many bits are used?New!
Our Troi Coding Plug-in uses newDES encryption. It is a 60 bit encryption scheme, and it uses a 256 byte rotor. This is a good algorithm although there are better algorithms available. There is no way to adjust the security level.

 

Back to top

Dialog Plug-in Questions

Q. How to separate the button number and the user input from an input dialog?
Split them out using a temporary global. So after this function the result has been put in the following global:

    gResult = "1|typed in text"

Then in a script use these calculations:

    Set Field[ gUserInput, Middle( gResult , 3 , Length ( gResult ) ]

    Set Field[ gButtonNumber, Left( gResult , 1 ) ]

Q. How to separate username & password from the userpassword dialog box?
Split them out using a temporary global. So after this function the result has been put in the following global:

  gResult = "1|Peter Baanen|secret"

Then in a script use these calculations:

  Set Field[ gUserName,
             Middle( gResult , 3 , position ( gResult ,"|", 1 ,2) - 3) ]
  Set Field[ gPassword,
             Middle( gResult , position ( gResult ,"|", 1 ,2) + 1, 64000) ]

Q. Why doesn't TrDl-DelayTicks update the screen on Mac OS X?New!
On Mac OS X there is a problem where FileMaker does not update the screen after a TrDl-DelayTicks step, even if you do a Set Field step to some other data. This behaviour has been seen in Mac OS X 10.2 and 10.3.

To workaround this please add a "Pause/Resume Script" step of zero seconds before the TrDl-DelayTicks step, like this:

Pause/Resume Script[0:00:00]
Set Field[gErrorCode, External("TrDl-DelayTicks" , "30") ]

Q. While I use the TrDl-ProgressBar function some script steps are not performed. Is it correct that script steps that manipulate the clipboard do not to work?New!
Yes, this is a limitation of the plug-in. When the progress bar dialog is visible the script steps that use the clipboard, like pasting in a container field, will not work as these steps try to paste in the progress bar window.

You should not show the progress bar when there are these kind of steps.

 

Back to top

File Plug-in Questions

The Troi File Plug-in has a separate page: To the Troi File Plug-in FAQ

 

Back to top

Grabber Plug-in Questions

Q. Is there a plug-in that works with scanners?New!
Troi Grabber plug-in works with TWAIN on Windows, and consequently also with TWAIN compatible scanners.

For Mac we don't have a solution at the moment.

Q. The Grabber returns error code $$-1 and I can't take pictures anymore. What is wrong?
Check if the Twain32.dll file is in Windows directory. If not install the software for your camera again or copy the .dll file from another location into the Windows directory.

Q. Which webcam drivers for Mac OS X are available?New!
If you are looking for a Quicktime driver for your FireWire equiped webcam, you may try the IOXperts driver. The IOXperts driver works with the Grabber plug-in, System requirements: DCam-compliant FireWire camera, Macintosh running Mac OS X 10.1 (or greater) and a FireWire port. IOXperts supports these cameras:

  • ADS 1394 PYRO WebCam
  • AME Vcam IEEE 1394 (FireWire) PC Camera CF-2000
  • Aplux 1394 PC Camera - C102T, 1394 PC Camera - C104T
  • iREZ StealthFire 1394/FireWire Video Camera
  • iREZ KritterDigital FireWire Camera
  • FireWireDirect DV WebCam
  • Orange Micro iBOT FireWire Video Camera

Since FireWire and DCam are standards, there's a good chance other FireWire DCam cameras will also work. A trial version of the IOXperts driver can be downloaded from <http://www.ioxperts.com/dcam.html>.

Q. Does the Grabber work with Apple's iSight?New!
Yes.We have not tested this ourselves, but others have reported that the iSight works fine with the Grabber.

Note that if you have a ioXpert driver (for example for the iBot webcam), you may have to remove it first. Also if you want to put the image in the preview rectangle of "GrabPict.fp5" the width and the size must be multiplied by 0.4.

Back to top

Number Plug-in Questions

Q. I am trying out the Running Balance function of the Number plug-in, but I have to do funky things to get it to redraw within the portal (e.g. next record, exit record, etc.). What am I doing wrong?
There is one very important thing that makes the running balance tick: the layout order must be correct. The TOTAL calc field has to be calculated first. So it must be on the layout and BEHIND the portal in the layout order.

Back to top

Serial Plug-in Questions

Q. Do any of your plug-ins support USB?
Not directly. USB is a bus protocol that can be used from various purposes and devices, like keyboards, harddisks, CD-ROM drives, adaptors, cameras. All these devices need specific drivers. We have currently no plans to create a USB plug-in. Note however that our Serial Plug-in is reported to be working with the USB to Serial adapters.

Q. Does your Troi Serial Plug-in work with USB to serial adapters?New!
Yes, we have had reports that the Keyspan USB-Serial adapters works well with Troi Serial Plug-in. See the keyspan web site for some possible devices: http://www.keyspan.com/products/usb/USA19W/

Q. Do you have a plug-in that can access a dongle?
We don't have a plug-in that can access a dongle. If you want to use the dongle on a serial port the Serial plug-in might be able to work with it. We have not tested this. You need to know what to send and receive from the dongle. We don't have information about that.

Q. Do you have a plug-in that can access the Parallel port?
We don't have a plug-in that can access the Parallel port.

Q. Using the Serial plug-in I can't get CallerID to work. How come?New!
Parsing out the CallerID is dependent on the exact string that the modem returns and can be different across modems, countries etc. In the CallerID.fp3 file we have provided two different situations, but you may need to change that for your own use. Usually a return character can be used to mark the end of the incoming data. If this is not the case you need to analyse what delimits your CallerID data. Note: not all modems support callerID. See also our caller ID page at our web site: <http://www.troi.com/support/callerid.html>

Q. What are the funny square characters I get from serial data import?New!
The squares are control characters (lower ASCII, 0-31) for which no denotation exists in the font. Therefore you cannot distinguish one from the other. However, if you want to use one you can copy it and paste it in a global field for example. Take a look at ASCII.fp3 in the download of the Serial plug-in for all the ASCII chars.

Q. How can we use Troi Serial Plug-In with Optical serial interfaces using OPTO-RS Flow Control?New!
You need to experiment with the Advanced Handshaking Options available through the Serial-Open script. Other users have had succes with "No Flow Control" and "RTS=disabled".

Q. How I could use the serial plug-in with a credit card swipe machine to enter the card number?New!
You need a credit card swipe machine that can be hooked to the serial port of the computer. Also it should produce ASCII characters (bytes). Note that this does not authorises the Credit Card.

Q. Do you have a ready-made solution for Telephony integration?New!
No, we don't and we don't have any plans to make this in the near future. Note that our Troi Serial Plug-in can communicate with any device that has a serial port and if it produces ASCII characters (bytes). Some PABX have a serial port and some users have used this plug-in for transmitting data to and from the PABX. The exact commands to do this is not standardized, so you need to find that out for yourself. Note that the Troi Serial Plug-in is not TAPI compliant. We don't have a TAPI plug-in. More info on our Serial plug-in can be found http://www.troi.com/software/serialplugin.html
BTW: If you have information on how to couple a PABX and want to share your results we are happy to put it on our web site.

Q. How can I physically connect two computers by serial ports? New!
You need a correct serial cable that crosses. We don't have the specs for this. You might ask your hardware supplier. Here is a starting point on the internet: <http://www.alloycp.com.au/Technical/CabDiags.HTM>

Q. How can I get access to more than 4 serial ports on Windows?New!
Normally Troi Serial Plug-in initialises 4 ports on Windows: COM1 to COM4. Use this in your start-up script to get 8 ports initialised:

Set Field [ gPortnames, External("Serial-GetPortNames", "-portCount=8") ]


See also the ExtraPorts.fp5 example in the download of the Serial plug-in.

Back to top

URL Plug-in Questions

The Troi URL Plug-in has a separate page.  Go to the Troi URL Plug-in FAQ

Back to top

 

Q. Why does the number 42 appear in the Troi Plug-ins?
It's the answer to the Question of Life, The Universe and Everything.=) See also www.h2g2.com


Back to top

Other Questions?

If your question is not answered here, please look in the documentation that comes with the plug-in. We will be adding more to this FAQ. If you have suggestions please .


www.troi.com/support   © 2008 Troi Automatisering, all rights reserved.