Lantica Software LLC.
  Learn more about Sesame Database Manager
I appreciate the helpful attitude of the tech support group, and the developers who try to meet the many needs of a variety of customers. Lanticans are very helpful. ...much more than expected.
  JFisher
Roswell - New Mexico
 

Schedule Your Free Live Demo
Click here!
 
Home
My Account
Order Sesame
Getting Started
Products
Support
Contact Us
Company
Downloads
Q&A™
 
Follow LanticaSoftware on Twitter
 
 


Sesame Database Manager is compatible with Symantec Q&A. Q & A users will find that Sesame uses many of the same keystrokes, the same search syntax, and almost the same programming syntax as used in a Q&A database. Sesame can also translate Q&A databases. Find out more.

 

Sesame Workarounds

Sesame - Known Bugs and Workarounds
Last updated: July 15, 2006

Current Release: Sesame 1.1.4
Next Release: Sesame 1.1.5

HotFix Notes: Some listings have a hotfix available. Hotfixes are only available by contacting Technical Support. This indicates that an unsupported hotfix is now available from Lantica, but it is only intended to correct the problem that is described. Only apply it to systems that are experiencing the specific problem. The hotfix may receive additional testing prior to release. Therefore, if you are not severely affected by the problem, Lantica recommends that you wait for the next officially announced Sesame update which will also contain the hotfix. Lantica does not recommend use of the hotfix in any production environment. It is being made available as a means to assist with continuing application development.


For Version: Sesame 1.1.4


Advisory: Using the "var" declaration in the Global Code area and outside of any function or subroutine is no longer supported.

Symptoms:
The following syntax error when compiling or testing SBasic code:
Var declarations are not allowed to be globally declared in the Global Area.

Workaround:
Replace all "var" declarations that appear in the Global Code area and are also outside of any function or subroutine, with "stat" declarations instead.

Status:
Not a bug.



For Version: Sesame 1.1.3


Advisory: Using the "var" declaration in the Global Code area and outside of any function or subroutine, can lead to memory problems on Sesame client.

Symptoms:
Memory expenditures when assigning and reassigning the variables in question.

Workaround:
Replace all "var" declarations that appear in the Global Code area and are also outside of any function or subroutine, with "stat" declarations instead.

Status:
Fixed in 1.1.4.


Bug: @SendMail no longer works with the designated mail server.

Symptoms:
@SendMail returns a -9 as an error code, indicating that it is attempting a login on a server that does not require or expect a login or password.

Workaround:
Contact Lantica Technical Support for a hot fix release (1.1.3 HF1).

Workaround:
Hotfix available. Contact Technical Support.

Status:
Fixed in 1.1.4.


Bug: On LE entry programming does not fire when navigating using the mouse directly from a table view subform to the LE in question on the main form.

Symptoms:
This is evidenced when the table subform is not in "edit mode" and the user uses the mouse to go directly from a cell in the table view subform to an LE with LE entry programming. The programming will not fire.

Workaround:
Avoid using LE entry programming for data critical tasks, in that it is impossible to assure that that LE will ever be entered. Replace the LE with a command button to allow for non-critical programming on the data in the table view sub-form. Move the programming to a LE that is in the natural navigation flow.

Status:
Fixed in 1.1.4.


For Version: Sesame 1.1


Bug: Unbound LEs appearing in a table view derived from a table view subform can cause incorrect data formatting during data entry.

Symptoms:
After pressing Shift-F6 from a table view subform and entering data in numeric, date, time fields, the data is not formatted correctly.

Workaround:
Either avoid using unbound LEs in a table view subform, or avoid editing the same in table view.

Status:
Fixed in 1.1.1.


Bug: Having the same records appearing under a naturally linked subform and a relationally linked subform, each on different parent forms can cause reparenting of the records appearing on the naturally linked subform, should both forms be used to edit, alter, and create records.

Symptoms:
Given the circumstances described above, the child records on the naturally linked subform will appear to move off the parent on which they were created and other records (as determined by the relational subform) may appear.

Workaround:
Avoid linking the same records both naturally and dynamically simultaneously or accept that the relational linking will determine a different order after changes are made on the relational subform.

Status:
Fixed in 1.1.1.


For Version: Sesame 1.0.4


Bug: The standard library libstrdc++-libc6.2-2.so.3 is not installed by default in the latest Linux versions.

Symptoms:
When starting the Linux version of Sesame, the following error is generated: "libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory." This library has been replaced in later Linux versions (Red Hat 10.0, Mandrake 10.0, and others) and is not installed by default. It is, however, included in the distribution, and can be installed along side the later version.

Workaround:
Install the .rpm package containing the library. This will usually be: compat-libstdc++-7.3-2.96.118.i386.

Status:
We have released two versions of Sesame, one for pre 10.0 systems, and one for later releases.


Bug: In SBasic the "+=" operator should not be used with arrays.

Symptoms:
When using the construct my_array[1,2] += "test" Sesame can reply with a SBasic runtime error: "Stack Underflow".

Workaround:
Substitute with the standard BASIC format wherein the array name is question is repeated: my_array[1,2] = my_array[1,2] + "test" to cause concatenation.

Status:
Pending


Bug: The extended XLookup functions used on unsupported file formats (Q&A .dtf files) writes 12 bytes into the header of that file.

Symptoms:
On the second use of XLookupSourceList, XLookupSourceListAll, and XLookupAll on an unsupported file type, after the first attempt fails, these routines will erroneously write a twelve byte header to that file.

Workaround:
None of the extended XLookup commands (those that did not exist in Q&A), support the Q&A .dtf file format. If you have already attempted to use one of these routines on a non-archived .dtf file, using a plain ASCII text editor replace the first 12 bytes of the file with "SYMANTEC TOU" to complete the phrase "SYMANTEC TOUCHBASE DATABASE". More importantly, do not continue attempting further XLookup operations, if the first attempt sets @error.

Status:
Fixed in 1.1


Bug: If a @DeferredMacro call is made and then followed by an @AskUser call, the macro is invoked before the program completes and is not deferred.

Symptoms:
Sesame executes a macro prematurely upon executing an @AskUser function and there is a pending @DeferredMacro call for that macro invoked in the same event, or in an event subsequent to that event, but previous to the @AskUser call.

Workaround:
Rearrange the program so that the @DeferredMacro call does not occur until after the @AskUser call, or make sure that either one or the other of the two calls is ever invoked in the event or code called from that event.

Status:
Fixed in 1.1


Bug: X commands (like XLookup) may fail if logged into a secured application.

Symptoms:
If you are logged in to a secured Sesame application, the External User Name and Password may not be passed properly to the external application.

Workaround:
Remove the Security from the external application.

Status:
Fixed in 1.1


Bug: X commands (like XLookup) incorrectly decrement application reference count in a client-server environment.

Symptoms:
The server may unload an application while clients still have it open. This may cause the clients to appear to lose their server connection. Errors referring to setting fields, Limbo values and session lists may appear in the logs.

Workaround:
Hotfix available. Contact Technical Support.

Status:
Fixed in 1.1


Bug: Adding fields in the Field Manager in SDesigner causes only the first field to be added correctly during reconcile.

Symptoms:
The .db file may not have all of the fields that appear in the .dsr file. Subsequent reconciles may create duplicate fields. Note: This problem only occurs when adding fields using Field Manager. It does not affect fields added by placing layout elements on a form.

Workaround:
Add fields by placing elements on the form.
Hotfix available. Contact Technical Support.

Status:
Fixed in 1.1


For Version: Sesame 1.0.3


Bug: Saving a design in Designer in Client/Server causing other clients to reset.

Symptoms:
If the user is using SDesigner as a client attached to a Sesame server and other runtime clients are attached to the same server and that user saves their design, the server issues an erroneous command to the other clients telling them to reset.

Workaround:
Use SDesigner in standalone mode.

Status:
Fixed in 1.0.4


Bug: Pressing the Escape key from the "Save As" dialog after a Q&A translation can lock-up Sesame.

Symptoms:
The last step in a Q&A translation allows the user to name the resulting Sesame files. This "Save As" dialog box will lock-up if the user presses the Escape key.

Workaround:
Click on the "Cancel" button instead of hitting Escape.

Status:
Fixed in 1.0.4


Bug: @XLookup, @UserSelect, and @XUserSelect can write to the currently executing LE.

Symptoms:
Using the SBasic construct string = @UserSelect(...) places the returned value in the LE that called the event as well as in the variable or LE on the left of the equal sign. This bug only affects functions and subroutines in which the subroutine of a matching pair (@XLookup / XLookup) takes a destination argument.

Workaround:
@PopupMenu can substitute @UserSelect. In other functions that have a matching subroutine, use that subroutine with a LE as the destination.

Status:
Fixed in 1.0.4


Bug: @Color becomes unpredictable after saving from SDesigner.

Symptoms:
A SBasic program that uses @color will produce the wrong colors (as per the Q&A manual) after being saved from SDesigner.

Workaround:
SDesigner only saves the palette choice that actuall appear on the form being saved. Through careful manipulation of the colors that appear on the form, @color can be predicted.

Status:
Fixed in 1.0.4


Bug: Rearranging columns in Table View (Shift-F6).

Symptoms:
Rearranging the order of the columns in a table view (shift-F6) as the first operation in a table view can cause the table view to become confused as to the field type of the that column, causing data to be missinterpreted.

Workaround:
Refrain from rearranging the columns until after another operation has taken place on that column.

Status:
Pending


Bug: The F6 editor fails to find Combo Boxes.

Symptoms:
Starting the F6 field editor from a combo box often gets the wrong field or no value.

Workaround:
Clicking in another LE and then returning to the combo box can remedy the situation.

Status:
Fixed in 1.0.4.


For Version: Sesame 1.0.2


Bug: @FormNewRecord turns off event programming.

Symptoms:
After calling @FormNewRecord, further event programming does not run.

Workaround:
Use NewRecord instead..

Status:
Fixed in 1.0.3.


Bug: Selecting an image in the Image Browser can lock up or crash Sesame.

Symptoms:
When selecting an image in the Image Browser and pressing "Accept" Sesame will lock up or crash.

Workaround:
Change the image being shown using the F6 Field Editor.

Status:
Fixed in 1.0.3.


Bug: @Rest does not work with retrieve spec syntax.

Symptoms:
@Rest expects either a retrieve spec program enclosed in curly braces or a literal string, as opposed to a retrieve spec formatted string (i.e.: "Par..").

Workaround:
Use other SBasic commands (such as @instr, @mid, @left, etc..) to ascertain whether the input string matches a particular pattern.

Status:
Fixed in 1.0.3.


Bug: XPost fails with some applications when used directly to access another database within that same application.

Symptoms:
An XPost that works when used externally to the calling application, fails (setting @error) when used with @fn on a database within the same application.

Workaround:
Do an actually external XPost, in which the database to be accessed is in a different application file. Or use XPostR, controlling the arguments to specifically match the correct record. Or open the intended form and use the form access functions. Or, if the application allows, use a direct selective mass update on the intended form.

Status:
Fixed in 1.0.3.


Bug: Using @FormFieldValue from the on enter events of a form or the on enter event of a LE entered by opening the form does not return a value from a table view subform.

Symptoms:
Using @FormFieldValue from the on enter events triggered when a main form first opens only returns the value of the first row of a table view subform, even if further rows are specified. Yet, the same function in code run by entering a LE through navigation on an already opened form returns values for the specified row.

Workaround:
Use the @FormFieldValue on a different LE or event so that it runs later in the lifecycle of the form, such as on a command button's on enter event.

Status:
Fixed in 1.0.3.


Bug: @IsBlank does not work in retrieve spec programming.

Symptoms:
@IsBlank returns false or true without regard to the LE being checked.

Workaround:
Use ordinary retrieve spec syntax instead of a retrieve spec program for that LE.

Status:
Fixed in 1.0.3.


For Version: Sesame 1.0.1


Bug: Designer crashes when you click on the Form.

Symptoms:
Undoing deletes of Tab elements and Tab Pages may incorrectly leave behind invisible pieces of Tab structures. If this occurs, clicking on the Form causes a crash.

Workaround:
Do not use Undo to undo deletion of Tabs or Tab Pages. Instead, exit the Form without saving. If you do create this condition, either delete the Form and rebuild it or send the application to Tech Support for repair.

Status:
Fixed in 1.0.3.


Bug: Extensive font changes eventually crash Designer.

Symptoms:
If many changes to Font face and style are made during a Designer session, depending on which fonts are used, Designer may eventually crash.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Static images on Form print very small.

Symptoms:
When printing a Form with a static image, the static image will print very small.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Q&A Mass Update Specs do not convert field numbers to names.

Symptoms:
Converted Q&A Mass Update Specs will still show logical field numbers instead of element names.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Deleting a field of type SUBRECORD may crash Designer.

Symptoms:
Any operation that involved deleting fields, including deleting a database, deleting a field or deleting unreferenced fields during Reconcile may crash if a field being deleted is type SUBRECORD.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Subreport elements not saving correctly.

Symptoms:
Subreport elements on Reports are not correctly saving their settings.

Workaround:
None

Status:
Fixed in Sesame 1.0.2.
Note: Any subreport elements saved prior to this release must be removed and readded to the parent report. No redesign of the subreport itself is necessary. You need only delete the subreport element from the parent report and put it back on.


Bug: Saved Import specs do not load Ignores.

Symptoms:
When a saved Import spec which includes saved Ignore colums is reloaded, the Ignore columns may not reload correctly.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Setting Designer permission may result in lockout.

Symptoms:
Setting only certain Group to have Design permissions, then setting the Design permissions back to Everyone, may result in a Designer lockout.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: XUserSelectR expecting a field name instead of an LE name.

Symptoms:
XUserSelectR is interpreting the external data source argument as a field name, instead of as a LE name, as the other X commands do.

Workaround:
Name the LE and underlying field the same thing.

Status:
Fixed in Sesame 1.0.2


Bug: XPost and XPostR not working with numeric elements.

Symptoms:
XPost and XPostR may fail when posting to a numeric field.

Workaround:
Post to a field of type Text.

Status:
Fixed in Sesame 1.0.2


Bug: Static images not appearing in Reports.

Symptoms:
Static images will not appear when the Report is previewed or printed.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Record values used in Report Headers, View Headers and Group Headers skip the first value.

Symptoms:
A Report that uses a record value in one of the Header sections will not show the value in the first header.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Forms with more than 511 elements may crash when performing various operations.

Symptoms:
Any Form operation (such as browsing records) attempting to send more than 511 pieces of data to or from the Sesame engine may overflow an internal limit and crash.

Workaround:
Reduce the number of elements on your Form.

Status:
Fixed in Sesame 1.0.2


Bug: ODBC data retrieval may fail.

Symptoms:
Various symptoms dependent on issues like data containing special characters.

Workaround:
None

Status:
Issues with known causes fixed in Sesame 1.0.2. Some issues in diagnosis.


Bug: Very long restrictions may crash.

Symptoms:
Sesame may crash while checking restrictions if the restriction is very long.

Workaround:
Reduce the length of the restriction.

Status:
Fixed in Sesame 1.0.2


Bug: PrintString may miscalculate height.

Symptoms:
If a value sent to PrintString wraps at the right margin, and no explicit width is set, an incorrect height may be returned.

Workaround:
Set the width argument in PrintString.

Status:
Fixed in Sesame 1.0.2


Bug: Check boxes do not respond to OnElementImmediateChange events.

Symptoms:
Clicking to check/uncheck a check box does not fire the OnElementImmediateChange event.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: A corrupted Initial Values Spec may cause a crash on Q&A translation.

Symptoms:
If Q&A incorrectly reports the length of an Initial Value, the translator may crash.

Workaround:
Clear the corrupted Initial Value before translation.

Status:
Fixed in Sesame 1.0.2


Bug: NotifyForm may lock the incorrect Form.

Symptoms:
NotifyForm prevents or allows Form advance incorrectly under very particular circumstances.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Issues with German and some other European keyboards

Symptoms:
Various symptoms including not being able to create an element by typing a colon (:) on your Form.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Issues with blank values in numeric and date fields.

Symptoms:
Retrieving records using > < = and /= may retrieve or fail to retrieve records with balnk values.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Subforms may behave incorrectly if the parent field name and the Database name are not the same.

Symptoms:
Subform may display incorrect child records, especially when relationally linked.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Subforms not holding position when placed on Tabs

Symptoms:
When you place a Subform element on Tab element, it looks correct in Designer. In Runtime or Preview mode, the Subform appears in the wrong position on your Form.

Workaround:
None

Status:
Fixed in Sesame 1.0.2


Bug: Programming issues with Table type subforms

Symptoms:
Some SBasic commands and events may not behave properly when used from a table type subform in data entry or from a Retrieve Spec.

Workaround:
None

Status:
All known issues fixed in Sesame 1.0.2


Bug: When using an XLookup to the current application, old values are returned.

Symptoms:
When doing any of the "X" external commands in SBasic, recently changed or added values are not returned if the full or relative path to the application is specified, as opposed to using the "@fn" function as the application name.

Workaround:
Always use the "@fn" function to specify the application if you are doing an external "X" command to the same application as the SBasic caller.

Status:
Fixed in 1.0.2


Bug: The SBasic function @LoadRetrieveSpec() loads values into an Add/Update form.

Symptoms:
When invoking @LoadRetrieveSpec the form goes into retrieve mode, but the spec data is written to the form in the original Add/Update mode.

Workaround:
Use a macro to go to the retrieve form and fill in the retrieve spec, or use the spec manager, or use an attached default retrieve spec.

Status:
Fixed in Sesame 1.0.2


Bug: The Sesame ODBC client (driver) does not connect to the server.

Symptoms:
When attempting to connect to the Sesame server, with a server running on the appropriate ports, the Sesame ODBC driver hangs or crashes.

Workaround:
Download the updated driver from the downloads page.

Status:
Fixed in Sesame 1.0.2


Bug: Using the SBasic command GOTO to stay in the currently focused LE does not work.

Symptoms:
A GOTO statement is used in the OnExit SBasic for an LE to force the user to reamin in that LE, but the focus still moves to the next LE.

Workaround:
Use a different means to inform the user of legal values, such as a message box. Or use a LE type that restricts data by only offering the legal values, such as a List Box, set of Check Buttons, or a Radio Button Group.

Status:
Fixed in Sesame 1.0.2


Bug: An attached sort spec on a report causes a default attached retrieve spec.

Symptoms:
If a sort spec is attached to a report, but no retrieve spec is attached, the entire set of records are included in the report, ignoring the already retrieved set.

Workaround:
Either attach an appropriate retrieve spec when attaching the sort spec, or attach neither a sort or retrieve spec and sort the retrieved set before running the report. A "default" sort spec can be attached to the form itself and used when the form retrieves the initial batch.

Status:
Fixed in Sesame 1.0.2


For Version: Sesame 1.0


Bug: FileReadLn strips off the last character, if the line does not end with a carriage return/line feed.

Symptoms:
Any routine which uses a value read from a file using FileReadLn may be missing the last character, especially if reading the last line in a file.

Workaround:
Make sure to press Enter at the end of each line, including the last one, when making your text file. If generating the file in code, concatenate a NewLine onto the end of each line, including the last one.

Status:
Fixed in Sesame 1.0.1

Top


Bug: Initial Values only appear on the first record in "Add mode".

Symptoms:
An layout has an initial value set in SDesigner, but the initial value only appears briefly when adding records - disappearing as the user advances. Seems to affect text layout elements more so than numerics.

Workaround:
Attaching a leading or trailing space to the initial value when setting it in SDesigner seems to repair the problem. It can also be repaired by setting the initial value for a layout during the ON FORM ENTER event - but the layout must be checked first to determine if it is empty and only set if it is.

Status:
Fixed in Sesame 1.0.1

Top


Bug: SDesigner does not set colors correctly if the video card is set to 256 colors only.

Symptoms:
Trying to set colors on a form results in only shades of green and black.

Workaround:
Set the video card to a higher range of color resolution. 16 bits, 24 bits, and 32 bits all work well.

Status:
Fixed in Sesame 1.0.1

Top


Bug: Sesame reports "image not found" on images it cannot read or display - even if found.

Symptoms:
An image in the correct directory does not display and the incorrect error message is logged

Workaround:
Use a supported image format. Sesame support .png, .bmp, and standard (but not progressive) .jpg.

Status:
Pending.

Top


Bug: Sesame crashes when opening SDesigner on Linux.

Symptoms:
When opening SDesigner, SDesigner crashes - reporting "Segmentation fault."

Workaround:
This is a caused by having more than 1024 fonts recognized by your system. Reduce the number of fonts recognized to less than 1024.

Status:
Fixed in Sesame 1.0.1

Top


Bug: SDesigner has problems with fonts on Linux.

Symptoms:
SDesigner does not change the font when selected, or crashes on the second font selected.

Workaround:
None.

Status:
Fixed in Sesame 1.0.1

Top


Bug: Print Form prints all the layouts in a small block in the upper left hand corner of the page.

Symptoms:
See above

Workaround:
Sesame scales the page using the size of the enclosing form. If the form is very large and the layouts only occupy a small portion of the form, Print Form will print them all scaled to the size of the form. Make the form smaller with less empty area.

For some printers combined with some operating systems there is a known bug that will cause the same "postage stamp" effect without regard to the size of the form. The only "Workaround" at this time is to use one of the other available printing methods. We have found an internal fix for all drivers.

Status:
Fixed in Sesame 1.0.1
N/A

Top


Bug: Sesame erroneously warns that a record has changed when it has not.

Symptoms:
Open a database in search or add mode. Navigate through some layouts with out changing any values. Hit Escape. Sesame *may* warn you that the record has changed when it has not.

Workaround:
None.

Status:
The number of occurances of this have been reduced, though not completely eliminated.

Top


Bug: Elements in the second View of a multi-view Report cannot be selected when the report is opened in Designer.

Symptoms:
When you first open the report in Designer, clicking on Elements in the sections of the second view has no effect.

Workaround:
Contract, then expand the Report Header section by clicking twice (not double-clicking) on the arrow button at the top of the section column. This will force the report to recognize all of its sections, and all your Elements will respond to mouse clicks.

Status:
Fixed in Sesame 1.0.2

Top


Feature Request (Unnumbered): The PrintString SBasic commands enforce an unwanted margin.

Symptoms:
When using absolute coordinates in the PrintString command - the coordinate (0, 0) appears one inch in and one inch down on the page.

Workaround:
None.

Status:
Fixed in Sesame 1.0.1. It has been changed so that (0, 0) is the most upper / leftward position allowed by the driver. This may well be a point above or to the left of the printable area as allowed by the printer hardware, but should allow the PrintString command to print on all points that *can* be printed on by the printer.

Top


Bug: Some Q&A databases crash Sesame while translating reports.

Symptoms:
During Q&A database translation Sesame either reports an error and ceases operation (crashes) or locks up, especially late in the translation process. There may be a complaint in the log file indicating "blank layout element name used."

Workaround:
In Q&A check all reports for a derived column with a heading that is blank. Either exclude that report from the translation or name that column.

Status:
Fixed in Sesame 1.0.1.

Top


Bug: Using the STOP statement or the GOTO statement in GLOBAL CODE can cause SBasic to crash.

Symptoms:
If a user defined subroutine or function calls the STOP statement or the GOTO statement, and the function or subroutine is defined in the GLOBAL CODE section, any access to a "STAT" variable also declared in the GLOBAL CODE section can cause a crash."

Workaround:
Replace the STOP statement with appropriate logic using IF, THEN, ELSE programming to achieve the same result. Have the calling function invoke the GOTO statement needed instead of using it in the GLOBAL CODE section.

Status:
Fixed in Sesame 1.0.2.

Top

  Learn more about Sesame Database Manager
1.1 is great! All your hard work and long hours is VERY MUCH appreciated! All the 'coaching' and tutoring I've received from Erika and Mark, and all the tech support from Ray and everyone else has been fantastic, not to mention 'immediate'! The past year has been a lot of fun in many different ways thanks to you all!
  Steve A.
Small Business Owner - Texas