GIST SDK

Frequently Asked Questions

Q. What is an ActiveX-Control?

Ans.: Controls are small software components that could be plugged into your application.

Q. What is GIST_OCX?

Ans.: GIST_OCX provides the basic controls (like edit, static, button etc) that support multiple Indian languages. This could be used for designing GUIs in Indian language.

Q. What are the system requirements for GIST SDK?

Ans.: 486/586 with 32 MB RAM, and at least 5 MB Free Space on the hard disk.

Q. Is it possible to use GIST SDK on a network?

Ans.: Currently there is no network version of the GISTSDK.

Q. How can we distribute applications using GIST SDK?

Ans.: Normally on GIST SDK CD there is also a runtime installer, ( if you have purchased the runtime license along with development license. Run this setup.exe on every client machine where you will be installing the application.

Q. What ActiveX controls are provided with GIST SDK?

Ans.: Gedit control, GpushButton, Gradiobutton, GCheckbox, GistcomboBox, GlistBox., GStaticText

Q. How does one use GIST SDK with MS ACCESS?

Ans.: Before using ActiveX control make sure these controls are registered on the machine. >From the Menu select insert object in a form. Select any one of the Gist controls and drop it on the form as you do with text control. Set the ActiveX Control properties ( like languages, fonts etc.). now in the script you can access the text as ActiveXCntrl1.text.

Q. How does one use GIST SDK with Powerbuilder Version 5.0/6.0?

Ans.: In powerbuilder you can not use ActiveX controls in the data window. Use windows to insert the ActiveX control. From the menu Select OLE control and select insert object. Select any one of the Gist controls and drop it on the form as you do with text control. Set the ActiveX Control properties ( like languages, fonts etc.). now in the script you can access the text as ActiveXCntrl1.text.

Q. How does one use GIST SDK with Visual Basic Version5.0/6.0?

Ans.: Right Click on the Tools, select components and you will see a list of registered control. Select Gist_OCX.ocx and GistComboBox.ocx. Click on Apply and some more controls will appear on the tool bar. Select any of these newly added components and drop it on the form. Set the ActiveX Control properties ( like languages, fonts etc.) You can get the text from this control as Gedit1.TEXT.

Q. How does one use GIST SDK with Developer 2000?

Ans.: Use Insert object when you are designing a form. Insert the Gist ActiveX control. In forms 5.0.

From the Tools Menu, select import OLE and select the ActiveX control to import. Once this is done Oracle forms will show the properties and methods in the form of attached libraries. In your PL/SQL Script you can access this libraries.

Q. How does one use GIST SDK with Crystal Reports?

Ans.: Use Crystal report to design any report with some fields/columns. From the report select all the columns, which are having ISCII data. Delete it. From Report select Insert Formula, specify any name and select OK. Now it will show a Formula editor window with title as @<formula name>. Select the Functions Tab and scroll down till you see Additional Functions: section. Here you will find some additional functions provided by GISTSDK. Select one of then and click on select button. The function will appear in the formula text. Select the column name which you want to convert to ISFOC. Provide the script-mnemonics ( "DV" / "DVB" .. etc). Click on Check button to see whether the formula text is correct. Click on Accept button. Apply the font to this formula field. Preview the report.

Syntax for Crystal Report functions:

                                Iscii2Isfoc(String, String)

                                PcIscii2Isfoc( String, String)

                                Iscii7ToIsfoc(String, String)

Since all this three functions are very specific to crystal reports, the first parameter is the column name and the second is the script Mnemonic . Before running crystal report please ensure the 'Crufliscii32.dll' is in your Windows\Crystal directory.

Q.What is the maximum string length that is been supported in Crufliscii ?

Ans.:Crufliscii by default does not have any buffer limit. But when the same is been used in Crystal report ,formula field Crystal report will not allow more than 255 characters, fields like CLOB,BLOB and varchar2(whose limit is more than 255 characters will not been shown in this option.

Q. What back ends does GIST SDK support?

Ans.:

1)                MS SQL Server 6.5

2)                MSAccess 97

3)                Oracle 7/8

4)                Sybase System 10/11

5)                IBM DB2 5.0

6)                FoxPro

7)                DBASE III/IV

Q. How is GIST SDK packaged?

Ans.: GIST SDK is packaged with ActiveX controls and supporting DLL’s of the respective Language.

Q. What are the components of GIST SDK?

Ans.: OCX controls and ISM API dlls.

Q. What utilities are bundled with GIST SDK?

Ans.: GIST-SDK provides ActiveX Registration Utility.

Q. What do I need to package with my software during Runtime?

Ans.: The ocx files, ISM API dlls and the other supporting dlls. This comes as a Redistribution kit with GIST SDK latest versions.

Q. Where do I look for help on GIST SDK?

Ans.: The latest help will be available when you install GISTSDK. The help is installed in the GISTSDK directory.

Q. Can I modify the data created using GIST SDK?

Ans.: Yes. Through the same control you can modify the data.

Q. How about sorting on Indian language data created using GIST SDK?

Ans.: Sorting is normally done by the database.  Different database use their own algorithm to sort the data. To Sort the data in Indian languages use the binary sort option provided by the databases. Since the data through GIST SDK controls is directly stored in ISCII, there is no need for any conversion of data to sort it.

Q. Can I use GIST SDK to work on data other than ISCII?

Ans.: You can get the ISFOC data through the ActiveX Control.

Q. How reliable is the sorting done on Indian Language data?

Ans.: It is 100% reliable as far as the data to be sorted is in ISCII.

Q. Sometimes captions of the controls disappears or shows junk. Why?

Ans.: This happens normally because the font gets accidentally deleted from the system. So close the application and restart the application.

Q. Sometimes it is not possible to type characters like comma, matra etc in the controls?

Ans.: To rectify this problem press spacebar and continue with the character.

Q. The ISCII2ISFOC function returns a value of 1 (SUCCESS). But the output string contains junk. Interestingly, the same EXE file runs properly on another computer on which your evaluation version is installed?

Ans.:

1.   Please check whether fonts in your c:\windows\fonts directory has been installed properly or not.

2. Which fonts u r using monolingual or bilingual if monolingual set to bilingual fonts.

Q. Many files are installed directly to the Windows directory  (fonts and DLLs). Therefore it is very difficult to tell what files form part of the package?

Ans.: If project is  for Devanagari then all the dlls like Dv1kbd.lin, Dv1kbd32.lin, Dvbfa32.dll , Dvbfra32.dll, Dvisfa32.dll , Dv0kbd.lin, Dvfra32.dll are included in your C:\windows\system32 as soon as you run setup. This holds true for all languages changing the appropriate script dll.

Q. How do I change the  script/font at run time?

Ans.: Use the script in the VB Form Load event to change the runtime properties of the control

Like Gedit1.Script =”Devanagari”

Gedit1.FontName = “DVB-TTSurekh”

Q. How do I update my database using Gedit control?

Ans.: Set the Datachange property  to TRUE so as the changes in the edit control will be updated in the database.

Q. How do I  add the items from the  database to  GlistBox/GCombobox?

Ans.: First count the number of records from the database

Dim LRow as Long

With rst

.MoveLast

LROW = rst.RecordCount

.MoveFirst

For I = 1 To LROW

GcomboBox1.AddItem !FM_Name, I-1

GListBox1.AddItem !FM_Name, I - 1

.MoveNext

Next I

Q. I am using Crystal report, How can I display ISCII data in reports?

Ans.: While displaying the data has to be converted to ISFOC and then displayed. If you are using Crystal report then In Crystal report design mode add a formula, give a name to it, then scroll down in Functions window, in the additional functions you can see Iscii2Isfoc function. Click on it. The First parameter is the column name and second is script name like “DVB” or “DV”, depending upon the script you have selected in GISTSDK.  Click on Ok. Drop this formula to report and apply the respective font. Preview the font.

Q. How do I create Labels Text in report design?

Ans.: Just create  a sample VB form. Drop the Gedit control on it set the properties, save and run the form. Now type the label text here in the Gedit box. Cut the text and  paste in the report. Apply the respective font.

Q. What all I need to re-distribute with my application?

Ans.: With GIST SDK version 2.7 and above we provide a GIST SDK Redistribution KIT which will take care of the dependencies.

Q. There is some problem in typing, like in gujarati and Hindi we have bindi similarly in Tamil if we put bindi on any character it’s  appear on next character so we have to delete the middle character manually. If not done manually then whole meaning of the word change?

Ans.: This problem  is been solved in the latest GIST SDK version 2.7

Q. Why is the typewriter option not functioning (the layout is not mapped)?

Ans.: By default when you choose typewriter option the keyboard is set to one single typewriter e.g. Remington or Godrej. Issue is solved, Please write to support. gist@cdacindia.com or contact our channel partner near to you.

Q. In Glistbox or Gcombobox the index of the selected item is not being set until unless the click event is used for the control, i.e, when the arrow keys are used for choosing and selection is done by enter or tab key the index is remaining as zero only and the first item in the list box is being selected. But the same if selected by click of the mouse then the index is set. Why?

Ans.: In this function the Enter key resets the valve to zero. But the tab key works fine.

Q. With the Gistcombobox at runtime also we are facing some problem intermittently ... ie the program execution stops by giving an error message that some illegal operation has been performed and when details are checked for ... it displays the page fault has occurred at mfc42.dll (In VC++)?

Ans.: In case of this problem An exe which will be provided  has to be executed .Once this exe is executed the problem will be solved. This problem occurs only to people who have the old version of OCX.

Q. Multiline GEdit causes application to hang indefinitely or crash  when too much text (10-20 lines) is typed in it?

Ans.: This is been solved in the version  2.7 and alove.And a minimum of 2 kb of data can be stored without any problem. But a maximum of 8k works but pretty slow. Anything above 8k will crash.

q. GCombobox shows a white patch?

Ans.: This problem is solved for both vb and vc.In the latest OCX 

Q. The typewriter option is not functioning that is the layout is not mapped to any of the typewriters. Is there any setting that has to be done? Is the version of GIST has to be changed ?

Ans.: By default one type writer layout is mapped as soon as the Keyboard selection is made to typewriter .This problem is been solved in the latest ocx.

Q. Copy-Paste is possible from GEdit - GEdit, and GEdit to Textbox   of any other application. But Copy-Paste is not possible from any   of windows textboxes to GEdit control?


Ans.: Every clipboard has its own formats which allows to copy valves only of its format.GEdit clipboard format is ISCII 8.so any other clipboard which support this format will allow to copy the content.

Q. GEdit allows pasting text even if the control is Read-Only?

Ans.: This problem is rectified with the GIST SDK version 2.7 and above

Q. All the data is entered using GIST card in DBase-III+ under DOS. Now we want to switch over to windows and database will be in Access. The dbf files have been converted to Access tables but the scripts are not readable. We have GIST SDK and also Leap Office software for Windows environment?

Ans.: Gist CARD database format is PC-ISCII. Please convert PCISCII format to ISCII format. The API is provided with GIST SDK in the form of PcIscii2Iscii 

Syntax

int Pciscii2Iscii(unsigned char *Pciscii, unsigned char *Iscii)

Description
This will convert a PC-ISCII string to ISCII.

Q. GIST SDK evaluation copy when downloaded from the WEB site does not work properly?

Ans.: Please click here to get the updated and latest copy.

Q. I am Using GIST SDK / ISM Office for displaying Indian languages data in XML. The database is in Access. The front end used is VB. The data is stored as ISCII. While displaying in IE 5.5, the data in Indian languages are displayed as junk, whereas English data is displayed properly. What could be the problem?

Ans.: This occurs because when the data is displayed on the WEB a font tag needs to be attached with the data if the data is already converted to ISFOC format. If not  then first the data is to be converted from ISCII to ISFOC and then displayed on the WEB using the Indian Language Font Tag (whichever font format it was converted to).

Q. Does GIST SDK supports ASP / Dynamic pages?

Ans.: No. GIST SDK is not a web tool. You have to use iPlugin for Web applications.

Q. Is it possible to use the fonts available with GIST SDK on MS-Word?

Ans.: No. It is not possible to use the fonts available with GIST SDK with MS-Word.

Q. Does SDK Support Oracle?

Ans.: GIST SDK is a front end utility tool and its working is possible on all the front ends which supports active X controls. So be it ORACLE, SQL or for the matter DB2 which are databases GIST SDK has no role to play. Only in case of Oracle you need to check out whether it saves data in 8 bit format (by default it saves as a 7 bit data).

Q. How to use GISTSDK with D2K?

Ans.:

1. Create a form and data block in forms 5.0 and above.

2. On it draw an ActiveX Control

3. Insert a Gedit object by right clicking on this control. Also set the OLE-CLASS to that of Gedit

4. Use the OLE importer under the program menu to insert the Gedit along with required method Pakages and or event Packages (selecting all is recommended).

5. Create another data block manually and drag-drop the control on it. (lets call it 'EDITBLOCK')

6. For this block set
Single Record to 'Yes'
Database Datablock to 'No'
Maximum Records fetched to '1'

7. Write the properties you want the control to have in the 'WHEN-NEW-FORM-INSTANCE' trigger
use the functions available in program units to do so.
eg:
GISTOCX_DGEdit.ScriptName(GET_INTERFACE_POINTER('EDITBLOCK.GEDIT'),'Devanagari') ;
GISTOCX_DGEdit.FontType(GET_INTERFACE_POINTER('EDITBLOCK.GEDIT'),0) ;
where
0 is Bilingual
1 is Monolingual

GISTOCX_DGEdit.FontName(GET_INTERFACE_POINTER('EDITBLOCK.GEDIT'),'DVB-TTSurekh') ;
GISTOCX_DGEdit.KeyboardType(GET_INTERFACE_POINTER('EDITBLOCK.GEDIT'),0) ;
where
0 is INSCRIPT
1 is Phonetic
2 is typewriter

8. to reflect the changes in the control use 'WHEN-NEW-RECORD-INSTANCE'
trigger to assign the value to gedit's text property.
eg:
GISTOCX_DGEdit.Text(GET_INTERFACE_POINTER('EDITBLOCK.GEDIT'),:SDKTRIAL.NAME) ;
OR
IF :SDKTRIAL.NAME IS NULL THEN
GISTOCX_DGEdit.Text(GET_INTERFACE_POINTER('EDITBLOCK.GEDIT'),0) ;
ELSE
GISTOCX_DGEdit.Text(GET_INTERFACE_POINTER('EDITBLOCK.GEDIT'),:SDKTRIAL.NAME ) ;
END IF;

(as NULLs may give OLE errors)

9.use the 'ON-DISPATCH' trigger of the control to transfer data to back to the text-item for example.
eg:
:SDKTRIAL.NAME:= GISTOCX_DGEdit.Text(GET_INTERFACE_POINTER('GEDIT')) ;

(you can type in the keydown\keyup\keypress event)

10. set the visible property of this related item to 'No' so that end user does not see this item having ISCII chars.

note : in the above examples
a) the data block which is connected to database is called SDKTRIAL (it is also the name of the table). Here's how to create the table:(Oracle Syntax)
create table sdktrial (roll integer, name varchar(35));
insert into sdktrial values (14, 'amit');
commit;
b) the data block with ActiveX control in it is called 'EDITBLOCK'.
c) 'Name' is the name of the text item which is to store iscii data

Q. Is there any sample applications on for D2K
?

Ans.: Please Click this link for the sample application  SAMPLES (Download Winzip for extracting the files). Once Done please go through the read me file.

Q. How to generate a report in D2K when the data is stored in ISCII format?

Ans.: This is report which calls ismapi32.dll  on client side thru reports. It uses oracle foreign function interface package. This package is also available in forms. Sample file (RDF file) is available here .


GistPackage: (pkgSpec)

PACKAGE GistPackage IS
FUNCTION ConvertingFunction(isciistr VARCHAR2) RETURN VARCHAR;/* declarations*/
END;
--------------------------------------

GistPackage: (pkgBody)

PACKAGE BODY GistPackage IS
mathlib_lhandle Ora_Ffi.Libhandletype;
to_power_fhandle Ora_Ffi.Funchandletype;

FUNCTION ff_to_isfoc(fhandle Ora_Ffi.Funchandletype,isciistr in VARCHAR2, isfocstr IN OUT varchar,datalen IN NUMBER,scriptName IN VARCHAR2) RETURN NUMBER;
/*
parameters to iscii2isfoc
isciistr = sting to be converted
isfocstr= string initially spaces (to be filled)
datalen= length of iscii
scriptName= kind of conversion to be formed
DVB= devanagari, GJB= gujarati, etc. This may also be passed as a parameter for more flexibility
*/
PRAGMA interface(C, ff_to_isfoc, 11265);

FUNCTION ConvertingFunction(isciistr VARCHAR2) RETURN VARCHAR IS
varIsfoc CHAR(50);
varRet NUMBER;
BEGIN

varIsfoc:= ' ';/* allocating space may be increased as required*/
varRet:= ff_to_isfoc(to_power_fhandle, isciistr,varIsfoc,50,'DVB');/* actual call*/

return varIsfoc;
END convertingfunction;

BEGIN

mathlib_lhandle := Ora_Ffi.Load_Library ('C:\WINDOWS\SYSTEM\', 'ismapi32.dll'); /* path and name of the Dll. path will change for winnt*/

to_power_fhandle := Ora_Ffi.Register_Function(mathlib_lhandle, 'Iscii2Isfoc', Ora_Ffi.C_STD);/* Iscii2Isfoc is the function exported by Dll*/

Ora_Ffi.Register_Return(to_power_fhandle, Ora_Ffi.C_Int);
Ora_Ffi.Register_Parameter(to_power_fhandle, Ora_Ffi.C_Char_Ptr);
Ora_Ffi.Register_Parameter(to_power_fhandle,Ora_Ffi.C_Char_Ptr);
Ora_Ffi.Register_Parameter(to_power_fhandle,Ora_Ffi.C_Int);
Ora_Ffi.Register_Parameter(to_power_fhandle,Ora_Ffi.C_Char_Ptr);

END;
-------------------------------------------
converting function (fn Body)

PACKAGE GistPackage IS
FUNCTION ConvertingFunction(isciistr VARCHAR2) RETURN VARCHAR;/* declarations*/
END;

Q. What are the new components that are available with GISTSDK and with which version do they get shipped  ?

Ans.:These components are currently in the testing phase and will be shipped with GISTSDK version 3.0.

 The components are as follows

1. GIPBox : IP – Address Box with Indian language support.
2. GListView : List view control capable of handling ISCII data.
3. GMsgBox : MessageBox control, capable of prompting user in Indian languages.
4. GNumberToWord : Number to word and currency utility for 11 languages.
5. GTreeView : Tree view control, capable of handling ISCII data.
6. GTime : Day, date, time in Indian languages.
7. GMEdit : Multiline Indian language Edit control, which supports alignment (left, right and center justification of whole text) and Indian Language ToolTip.