Article View: es.comp.os.linux.programacion
Article #10730Re: Consultas varias Kylix 2 OE
From: Leonardo F. Bauchwitz
Date: Fri, 08 Feb 2002 07:24
Date: Fri, 08 Feb 2002 07:24
1365 lines
49688 bytes
49688 bytes
This is a multi-part message in MIME format.
--------------060303080106000706010309
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Mira, ese problema lo he tenido y lo he solucionado.. :-)
Cuando descomprimes he instalas el Kyllix, se crea un directorio, donde
puedes encontrar un archivo denominado README
De all� he extra�do lo siguiente (y ha funcionado):
Running applications
To run a compiled Kyllix application separately from the IDE, you need
to have your LD_LIBRARY_PATH variable set to <directory>/bin (where
<directory> is the full path to the Kyllix installation directory).
Por si acaso te adjunto el archivo para que lo leas..
Sin embargo, el Kyllix, trae un script que te facilita las cosas, y hace
el trabajo sucio.
Solo tienes que ir hasta el directorio donde hayas instalado el Kyllix,
al subdirectorio bin, y all� (en una TERM), ejecuta:
$ source kylixpath
Luego deber�a funcionar perfectamente tu aplicaci�n.
En mi m�quina, el Kyllix, est� instalado en:
/usr/local/kylix2
Por lo que al abrir el shell, ejecuto para setear las variables de
entorno el script ubicado en bin :
$ /usr/local/kylix2/bin/kylixpath
Luego, verifico que las variables hayan sido seteadas correctamente:
$ echo $LD_LIBRARY_PATH
/usr/local/kylix2/bin
$ echo $PATH
/bin:/sbin:/usr/bin....:/usr/local/kylix2/bin:/usr/local/kylix2/lib:/usr/local/kylix2/help
$ echo $XPPATH
/usr/local/kylix2/help/xprinter
$ echo $HHHOME
/usr/local/kylix2/help
Finalmente, ejecuto mi aplicaci�n:
./Pcorreo
Nota:
A menos que hayas instalado el compilador y las librer�as en un lugar
diferente, esto deber�a funcionar (a mi me ha funcionado de maravillas).
Si has cambiado la ubicaci�n, entonces debes teclear:
$ source kylixpath <new directory>
donde <directory> es el path al lugar donde hayas instalado el
compilador y las librer�as.
Nota 2:
Debes correr el script cada vez que habras un nuevo shell. (obviamente
lo puedes automatizar en alguno de los script de arranque.
Bueno, espero haberte ayudado, cualquier cosa, ya sabes no tienes m�s
que consultar
��xitos!!
Leonardo
--------------060303080106000706010309
Content-Type: text/plain;
name="README"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="README"
KYLIX 2
RELEASE NOTES
The following text files are included on your Kylix CD and
copied to your Kylix install directory. They contain late-breaking
release information not included in the printed documentation or
Help files.
README
This file. Contains general Kylix release notes.
PREINSTALL
Describes steps necessary to qualify a system to run
Kylix and Kylix applications.
INSTALL
Contains notes on installing Kylix.
DEPLOY
Contains notes on deploying Kylix applications.
CONTENTS
-------------------------------------------------------
WHAT'S IN KYLIX
WHAT'S NEW IN KYLIX 2
COMPATIBILITY ISSUES
RUNNING KYLIX
COMPILER, LINKER, AND ASSEMBLER
RUNTIME LIBRARY
DATABASE DEVELOPMENT
WEB DEVELOPMENT
INTERNATIONAL/CHARACTER SETS/LOCALE ISSUES
DOCUMENTATION
THE FREECLX PROJECT
===============
WHAT'S IN KYLIX
===============
Kylix includes an IDE with visual Form Designer and debugging
tools, the dcc compiler, runtime libraries, CLX, database
drivers, database components, documentation, and sample
applications.
NOTE: The default installation location for Kylix is beneath the
home directory of the installing user, or, if installing as
root, /usr/local/kylix2.
If you install as root, the sample application files (located in
the /demos directory under your installation directory) will not be
writable by other users. Before the sample applications can be
compiled or modified by other users, the non-root user must make
writable copies of the files, or shared access to the sample
directories must be established.
Product editions and feature restrictions
-----------------------------------------
Kylix is available in three primary editions:
* Enterprise Edition
* Professional Edition
* Open Edition
Trial and Education editions are also available,
with special licensing and deployment restrictions.
Not all of the features and functionality available in the
Enterprise Edition are available in other editions, and
print and online documentation included with this product,
including any release notes, may refer to features that are
not available in your edition.
A table listing the features included
in each edition is available online at
http://www.borland.com/kylix/
Activation and registration
---------------------------
For activation and registration instructions, see the
INSTALL document at the root of your Kylix CD or Kylix
installation directory.
=====================
WHAT'S NEW IN KYLIX 2
=====================
For a complete list of new features and functionality in Kylix 2,
see the "What's New" topic (under the "Welcome to Kylix 2" heading)
or search "new features" in the Index of the Kylix 2 online
Help system.
====================
COMPATIBILITY ISSUES
====================
Linux distribution certification
--------------------------------
Kylix 2 is certified on the following Linux distributions:
* Red Hat 7.1
* SuSE 7.2
* Mandrake 8.0
Math types, constants moved to Types unit
-----------------------------------------
In Kylix 2, the type TValueRelationship, as well as the constants
LessThanValue, EqualsValue, and GreaterThanValue have moved from the
Math unit to the Types unit.
If a unit does not compile because of this change, add the Types unit to
the uses clause of that unit.
QDBLogDlg replaces DBLogDlg
---------------------------
In applications developed using previous releases of Kylix,
any uses clause references to the DBLogDlg unit should
be replaced with QDBLogDlg.
TRadioGroup change
------------------
The Orientation property has been removed from TRadioGroup.
Radio groups now always lay out radio buttons in columns
(was orHorizontal).
Bcd field precision change
--------------------------
In Kylix 1, when a server returned a Bcd field with a
precision greater than 16 or a scale greater than 4, it became an
FMTBcd field; otherwise it remained a Bcd field.
In Kylix 2, if the precision is greater than 14, it becomes an
FMTBcd field. Thus, if you have existing code with persistent
fields of type Bcd whose precision is greater than 14, you
need to regenerate the persistent fields.
CORBA requirement
-----------------
CORBA requires Red Hat 7.1 or later.
CORBA demos
-----------
The supplied CORBA demo projects require correct configuration
of your network. If you receive errors when running the demos,
check that the IP address returned when you ping your machine
(ping <machinename>) matches the IP address returned when you
run the /etc/ifconfig utility. If the two don't match, you'll
need to add your machine's IP address (as returned by ifconfig)
to your /etc/hosts file.
Collation problems with non-ASCII routines
------------------------------------------
Due to conflicting collation conventions under Linux, some CLX
routines may not compare non-ASCII strings as expected. CLX
programmers can work around this problem by defining a Pascal
routine that overrides the glibc comparison routine. To use this
feature:
1. Define a unit named "CustomSortUnit"
2. In the unit interface, define two functions with these
signatures:
function CustomStrColl(S1, S2: PChar): Integer;
exports CustomStrColl name 'strcoll';
function CustomWCSColl(S1, S2: Pwchar_t): Integer;
exports CustomStrColl name 'wcscoll';
3. Implement CustomStrColl and CustomWCSColl so that they
correctly compares strings in S1 and S2 according to the
current locale. Both routines must return a positive value
if S1 > S2, a negative value if S1 < S2, and 0 if S1 = S2.
4. Add CustomSortUnit to the uses clause of any unit that
uses non-ASCII collation routines.
Font matrix issue
-----------------
If you are running a 2.4 kernel, the Kylix IDE may hang on the font
matrix generation dialog on first invocation.
Workaround:
mv <k2>/bin/transdlg <k2>/bin/transdlg.hide.me
Loader bug crashes Kylix/Kylix applications
-------------------------------------------
A bug in glibc can cause a segmentation violation when a program
loads and unloads shared object files repeatedly. There is no
workaround, and the only fix is to upgrade glibc to 2.2.0 or later,
which contains a fix for this problem submitted by Borland. You
must obtain this upgrade from the maintainer of your distribution
-- Borland does not currently have patches available for this
bug.
Symptoms of this bug include the following:
- The Kylix IDE crashes unexpectedly.
- Kylix database applications which repeatedly open and close
their SQL connections, encounter segmentation violations.
- Kylix applications that dynamically load libraries or packages
at runtime fail inexplicably. (Note: The database drivers are
always dynamically loaded.)
Can't use IDE on SMB filesystems
--------------------------------
On some Linux distributions, using the IDE to work with a Kylix
project on an SMB filesystem causes the Samba connection to be
lost. This problem may be fixed in a future release, but note
that cross-platform file access of this kind is always
problematic, due to differences in filesystem semantics. For best
results, keep Kylix projects on filesystems that implement full
Linux and UNIX semantics, such as ext2, ext3, nfs, or reiserfs.
Conflict between Kylix and xalf
-------------------------------
Kylix may fail to run if the xalf tool is enabled. To work around
this problem, configure your system not to run the xalf applet.
=============
RUNNING KYLIX
=============
If you selected the "Desktop menu items" option during
installation, you should find a "Kylix" menu item that starts
the IDE. This menu item, like the "Kylix" symbolic link that
the installer creates in the Link Path directory, points to
the startkylix script. Always start the IDE by running the
startkylix script rather than running the kylix executable
directly. (Both script and executable are located in the bin
subdirectory under the Kylix installation directory.) The
startkylix script sets up certain environment variables used
by Kylix before starting the IDE.
NOTE: If you encounter a Runtime error 230 when running
the startkylix script (before a splash screen appears),
please check your LD_LIBRARY_PATH and ensure that
<k2>/bin _precedes_ the qt/lib directory reference.
If you edit your /etc/profile manually, you may need
to exit from X windows and restart it before running
Kylix.
Code editor fonts
-----------------
If text does not display properly in the Code editor, try
experimenting with the font settings (Tools|Editor Options|
Display) until you find something satisfactory.
Running Kylix with default KDE color schemes
--------------------------------------------
If Kylix is run on an X Windows server with a color depth of
8 bits (256 colors), visual artifacts may appear, depending
on the color scheme in use. This may be a particular problem when
using Kylix with the KDE 2.2 default color scheme. To resolve the
problem, change the color scheme, or run your X Windows server
at a color depth of 16 bits (65535 colors) or 32 bits
(16 million colors).
Running console applications
----------------------------
In order for Kylix to have debugging information on console
applications, one of two things must occur.
1) Use the startkylix script to start Kylix rather than the
GNOME or KDE menu items. Further, do not append an ampersand
to the startkylix command. This allows Kylix to retain
control of the console (rather than running in the background)
and allows Kylix to debug console applications.
2) Choose Run|Parameters and select the Use Launcher Application
checkbox.
Either of these options will allow Kylix to debug console
applications.
Compiling from the command line
-------------------------------
Before compiling from the shell command line, source the
kylixpath bash shell script to set up your PATH and other
environment variables. To source the script, go to the bin
subdirectory under the Kylix installation directory and enter
source kylixpath
You must source kylixpath every time you open a new shell; you
can automate the procedure by placing the inclusion of kylixpath
into the current shell instance, like this:
source <directory>/bin/kylixpath >/dev/null
where <directory> is the full path to the directory where Kylix
is installed.
(If you copy the compiler and libraries to a different location,
you can set up the environment by entering
source kylixpath <new directory>
where <new directory> is the full path to the directory where
the compiler and libraries reside.)
If you use a shell other than bash, look at the kylixpath
script to see how the PATH, LD_LIBRARY_PATH, HHHOME, and
XPPATH variables are set.
The command-line Pascal compiler, dcc, has a default
configuration file that specifies unit and library search paths.
(If Kylix was installed by root, the default dcc configuration
file is /usr/local/etc/dcc.conf. Otherwise, the default dcc
configuration file is .dcc in the installing user's home
directory.) You can override the default settings for a complete
directory by placing a dcc.conf file in your project directory.
To override settings for a project, use the <project name>.conf file
(automatically generated by the IDE). If you list search paths
on the command line, specify multiple directories with separate
-U or -O switches (not semicolons), as shown here:
dcc -U<path1> -U<path2> -O<path3> -O<path4> MyProject.dpr
Command-line compiler switches are not case-sensitive.
NOTE: The command-line compiler has an undocumented switch,
"-ls<entry>". This switch adds <entry> to the executable's
DT_NEEDED list, with <entry> being the name of a shared object
dependency.
Running applications
--------------------
To run a compiled Kylix application separately from the IDE,
you need to have your LD_LIBRARY_PATH variable set
to <directory>/bin (where <directory> is the full path to
the Kylix installation directory). You can do this by
sourcing the kylixpath script described above.
For details on deploying your applications see the DEPLOY file.
Copy and paste under Linux
--------------------------
Under Linux, simply selecting text in an application window
immediately makes that text available for pasting. Unfortunately,
this feature uses the same global data area as the CLX clipboard.
So if your application puts information on the clipboard using
Clipboard.AsText or ClipBoard.AssignTo, this information is
overwritten if the user selects text in any window.
Pasting text into the Object Inspector
--------------------------------------
Object Inspector property fields have a limit of 2K characters.
Keep this limitation in mind when pasting long strings (such
as SQL statements) into these fields.
GNOME's inactivity warning dialog
---------------------------------
If the GNOME inactivity warning ("SaveYourself") dialog appears
while your registration dialog is open (or while performing any
other work in Kylix, such as running a debug session), simply
Cancel the GNOME dialog.
Do NOT click "Remove Program."
TThread and Suspend/Resume
--------------------------
The TThread class under Linux does not support nested calls
to the Resume and Suspend methods. Calling .Resume (.Suspend)
will always resume (suspend) the thread, regardless of how
often .Resume or .Suspend has already been called on that
thread instance.
TThread identifiers
-------------------
In existing code that uses Handle as a unique identifier,
use ThreadID instead. The Handle property, available in
TThread in Kylix 1, is no longer available for Linux
applications.
DPI recommendation
------------------
The recommended DPI resolution for correct display of Kylix
IDE elements is 75 X 75.
Conflicts with window manager key bindings
------------------------------------------
Some window managers have key bindings that conflict with the standard
key bindings for Kylix. For instance,
Ctrl+Alt+v
normally pulls up the event log for the debugger in Kylix. In KDE
however, this same key combination pulls up the klipper popup menu
by default. This can be changed in KDE by opening the Control
Center, selecting Look & Feel|Key Bindings|Show klipper popupmenu.
To change the default setting, chose the Custom Key radio button,
click on the button that displays the key combination, and type
the key combination that you want to use instead of the default.
NOTE: Other window managers may have similar conflicts. Check the
documentation and settings for your window manager to change
the default key bindings on your system.
Avoid try..finally blocks inside finally statements
---------------------------------------------------
Your application may not run if a try..finally statement is
located inside a finally block and an exception is thrown
inside that finally block. Example:
procedure TForm1.FormCreate(Sender: TObject);
begin
try
raise Exception.Create('e1');
finally
ShowMessage('1');
try
raise Exception.Create('e2');
finally
ShowMessage('2');
end;
end;
end;
Label caption tip
-----------------
The first letter of a label caption is dropped when the label's
WordWrap property is set to True, ShowAccelChar is True, and AutoSize
is False. Note: The problem only occurs if the caption contains
the accelerator character (&), contains no spaces, and is long
enough to trigger word wrapping.
IDE File Open dialog
--------------------
If you attempt to browse a directory with the File Open dialog
box, and you do not have read access to that directory, the IDE
does not report an error. Instead, it silently changes your
navigation to the root directory.
Kylix and GNOME window managers
-------------------------------
When running GNOME and the Sawfish window manager (and possibly
also other window managers under GNOME), Kylix IDE elements
can appear in unexpected places even after you have saved your
desktop environment.
If you encounter this behavior:
1. Open the GNOME Control Center
(Menu/Programs/Settings/GNOME Control Center).
2. Choose Sawfish window manager|Placement.
3. Select 'none' as the Method of placing windows.
4. Select 'none' as the Method of placing dialog windows.
Open Tools API limitations
--------------------------
The Open Tools API is a method for extending IDE functionality,
which is currently undocumented. The non-GUI portions of the
Open Tools API are available on Kylix. Do not attempt to perform
GUI development with the Open Tools API due to thread
synchronization issues. You could potentially cause crashes in
the IDE if using the GUI portion of the Open Tools API.
===============================
COMPILER, LINKER, AND ASSEMBLER
===============================
The built-in assembler supports additional opcodes, including the
Pentium Pro instruction set, Intel MMX extensions, Intel
Streaming SIMD Extensions (SSE), and AMD 3DNow! extensions.
The compiler supplies GDB (STABS) debug info. The only limitation
is that within a local function or procedure, local symbols
declared in an outer scope are not available. (However, symbols
on the call stack are still available.) In the IDE, STABS
generation is off by default. The STABS option is on the Linker
tab of the Project Options dialog; choose Project|Options.
In unit declarations and uses clauses, unit names must match
file names in case. In other contexts (such as qualified
identifiers), unit names are case-insensitive. To avoid problems
with unit references, refer to the unit source file explicitly:
uses MyUnit in "myunit.pas";
If such an explicit reference appears in the project file, other
source files can refer to the unit with a simple uses clause
that does not need to match case:
uses Myunit;
The following features are NOT supported:
- Generating and linking with .a files.
- Generating and linking with C++ .o files.
- Absolute addresses in variable declarations.
(But you can still use the absolute directive to refer to the
name of another variable (e.g., var Var2: Byte absolute Var1;).
- TASM. You cannot import external assembler routines unless
they use syntax supported by an assembler such as NASM (Netwide
Assembler, one of the free, portable x86 assemblers supported by
Kylix; information: http://nasm.2y.net/ or
http://www.web-sites.co.uk/nasm/).
- Borland's make utility. Use the GNU make utility instead.
- "Resource introspection." Applications must know at compile
time the names of all resources they will use. Resources
cannot be browsed dynamically.
Sharing methods between languages is more complicated than
sharing global functions, since it requires use of a common
application binary interface (ABI). Kylix virtual method
tables (VMTs) conform to the currently proposed UNIX ABI
specification. To make gcc generate conforming VMTs for C++
objects, you must use gcc version 2.95 or later and specify
the COM_INTERFACE attribute in the C++ class declaration.
Without this attribute, gcc may insert information that changes
the VMT offsets and makes Kylix calls to C++ methods fail.
In addition, the Kylix interface or class declaration must
use the same calling convention as the C++ class declaration.
The recommended calling convention is stdcall, though Kylix
also supports cdecl.
Statically linking libraries with packages
------------------------------------------
A Kylix program may not run if it statically links a library, and
both the program and the library are built as Kylix packages. This
occurs because the library is initialized before glibc.
There are two ways to statically link libraries with packages.
One is to rebuild the library as a package. The other is to compile
the program using the dcc command line compiler, specifying the
option "-lsbplbaseclx.so.6".
===============
RUNTIME LIBRARY
===============
All Delphi RTL functions are supported, except for routines
whose purpose or functionality is Windows-specific (such as
RaiseLastWin32Error). The glibc memory manager replaces BorlandMM
and the ShareMem unit. Some functions have been moved from other
units into the System unit, while all Variants functions have been
moved into the Variants unit (matching the scheme in Delphi 6.0).
Because of limitations in the glibc strcoll() function, avoid
passing large strings (>50K) to AnsiCompareStr, AnsiStrComp, or
other routines that depend on these functions. This limitation
should be removed in glibc 2.1.91 (beta) and 2.2.
WideString types are now reference-counted, just like AnsiString.
Readln and Writeln now support WideString and WideChar types.
WideString data are converted from or to the locale-specific
character set. Text file I/O does not support Unicode text files,
but you can read or write locale-specific character sets from or
to WideString variables.
Date formats now support calendars that use era-based dates. This
feature is based on UNIX standards that have not been implemented
in glibc.
File I/O supports case-sensitive file and directory names as well
as UNIX conventions for marking line breaks and EOF. In general,
code that looks for Ctrl+Z (ASCII 26) to mark EOF will not work.
The DefaultTextLineBreakStyle variable in System.pas determines
how text file routines find or mark the end of a line and the end
of a file. Affected routines include Read, Write, Readln, Writeln,
Eof, Eoln, SeekEof, and SeekEoln. If DefaultTextLineBreakStyle is
tlbsCRLF, line breaks are indicated by a carriage return and a
line feed (CR+LF), and EOF (ASCII 26) is returned as the last
character in a file. If DefaultTextLineBreakStyle is tlbsLF (the
standard condition for Linux), line breaks are indicated by a
line feed alone and EOF is treated like any other character.
You can override DefaultTextLineBreakStyle by calling the
SetLineBreakStyle procedure; for example,
SetLineBreakStyle(MyFile, tlbsCRLF);
enables DOS-style line breaks and EOF markers for MyFile.
File dates are stored in UNIX format. This change does not
affect code that performs simple date comparisons or calls
standard conversion functions such as FileDateToDateTime.
However, code that directly packs or unpacks the data
structure contained in DOS date-time values will not work.
Results returned by FileAge and FileGetDate are ambiguous. Both
functions return -1 to indicate an error, but under Linux the
return value may contain -1 as a date/time.
Variants have been reimplemented with OS-independent Pascal
code. Your application must use the Variants unit if it uses
variants.
You can now define custom data types for variants. To create
a new variant type, declare a class that descends from
Variants.TCustomVariantType, then implement all required behavior
(including type conversion rules) in the new class.
(Note: Variant arrays of custom variant types are not supported.)
The following features are NOT supported:
- VT_DECIMAL in variants.
- UNC file names (\\server\directory\...).
====================
DATABASE DEVELOPMENT
====================
Kylix provides lightweight, native SQL drivers that use
TSQLConnection to manage database connections. The Enterprise
version includes drivers for InterBase, MySQL, DB2, Oracle,
and Informix (new in Kylix 2).
Before working with these drivers, edit your
.borland/dbxconnections file so that it contains valid settings
for the database you are using. For example, if you are using
InterBase, the [IBLocal] section must contain a path to a .gdb
file to which you have write access, a valid user name, and a
valid password. You can test data access by running the
DbxDataClxProj sample application, which displays a list of aliases
from your .borland/dbxconnections file and loads the appropriate
driver with the alias you select.
Dataset components include TSQLDataSet, TSQLStoredProc,
TSQLTable, and TSQLQuery. These are unidirectional, read-only
components that provide fast access to large amounts of data but
do not provide buffering or updating. For buffering and
read-write functionality, use these components with
TClientDataset, TDataSetProvider, and TSQLClientDataSet.
The new TSQLMonitor component provides aid in debugging
communication between your application and the database
server. It works like the stand-alone SQL Monitor for
Windows, except that it monitors only the messages of
a single connection component.
For an overview of Kylix database components, see dlx2dbd.hlp
and the instructions under DOCUMENTATION below.
Known problems and limitations
------------------------------
When a database-property or component editor connects to a
database through a TSQLConnection object, it leaves
TSQLConnection.Connected set to True. If you need this property
to be False, set it back to False before saving the unit.
Client dataset table and column names are limited to 31 bytes.
Exceeding these limits causes an exception to be thrown.
Indices created with an option of ixCaseInsensitive do not
collate Unicode data correctly.
The following features are NOT supported:
- The BDE. There is no support for Paradox or dBASE.
- SQL Explorer, SQL Builder, and the stand-alone SQL Monitor.
- Database connection components based on IDispatch or DCOM. There
is no TDCOMConnection, TSocketConnection, scktsrvr.exe, or
httpintr.dll.
- ADO.
- Data Dictionary.
- Decision Cube components.
dbExpress
---------
TSQLDataSet and TSQLClientDataSet now have
DefaultRowsetSize = 20 (Oracle only). To use a different
RowSetSize, add the RowSetSize property manually
(e.g., "RowsetSize = 200") to dbxconnections,
for existing connections, or set a new value when
creating a new connection. RowsetSize can be modified in code,
as shown here:
SQLConnection1.Params.Values['RowsetSize'] := '200';
Informix
--------
Kylix 2 is certified with Informix 9.21 server, and the
Informix commercial client iConnect 2.6.
InterBase
---------
The InterBase driver has been tested with InterBase 6.
For more information about InterBase, see
http://www.borland.com/interbase.
Currently, the driver does not support the ARRAY type.
If the server gives an error of "Cannot attach to database
password," make sure that you are starting the server as root.
InterBase Superserver and Red Hat 7.1
-------------------------------------
Starting InterBase 6.01 SuperServer on Red Hat 7.1 with the command
ibmgr -start -forever
causes the following error:
'/opt/interbase/bin/ibmgr.bin: error while loading shared libraries:
libncurses.so.4: cannot load shared object file: No such file or
directory'
Workaround:
Install ncurses4-5.0-2.i386.rpm from Red Hat 7.1's second binary CD.
MySQL certification
-------------------
The MySQL driver is now certified for use with MySQL version
3.23.41 (in addition to versions supported in Kylix 1; for backward
compatibility, the older MySQL driver is also provided on the CD,
in the directory /runimage/kylix/bin).
To install the older driver:
1. cp /runimage/kylix/bin/libsqlmy.so.1.0 /usr/local/kylix2/bin
2. cd /usr/local/kylix2/bin
3. Remove the existing link:
rm /libsqlmy.so.1
4. Link the older driver:
ln libsqlmy.so.1.0 libsqlmy.so.1
Your dbxdriver settings must also be set accordingly. To view
the setting, open the dbxdriver file in your $HOME/.borland
folder; in the [MYSQL] section of the file, the VendorLib key
should have the value libmysqlclient.so.6.0.0 (the value for
version 3.22; the default 3.23 value is libmysqlclient.so.10.0.0).
MySQL limitation
----------------
MySQL can't filter with FLOAT fields in the WHERE clause. Since
this limitation prevents updates with TClientDataset and
TDataSetProvider, use DOUBLE instead. For more information, see
the MySQL documentation.
DB2
---
The DB2 driver is certified for DB2 version 7. The client
version and server version must be the same.
Because of a known DB2 bug, the DB2 client returns only one
record at a time when a request for a block fetch is made,
even with RowsetSize option > 1.
DB2 requires the shared library libdb2.so installed under
/usr/IBMdb2/V7.1/lib
Do not use the libdb2.so located in /usr/lib.
Oracle
------
The driver is certified for Oracle 8.1.7. The client version
and server version must be the same.
You need to have the location of libclntsh.so.8.0 in your
LD_LIBRARY_PATH variable to use the Oracle driver.
(Note: libclntsh.so.8.0 is part of the Oracle Linux client access
libraries, available from Oracle.)
The size of LONG and LONG RAW fields cannot be determined without
fetching the whole field. So if BLOB SIZE is set to -1, LONG and
LONG RAW fields are truncated to 64K. We recommend that BLOB SIZE
be set to your best estimate of the blob size.
Oracle duplicate transaction error
----------------------------------
If an application fails during an Oracle transaction, subsequent
attempts to start new transactions or apply updates on the same
server may fail with "ORA-24757: duplicate transaction identifier."
To work around this problem, kill the session on the server.
Can't create local dataset with SQLClientDataset
------------------------------------------------
Errors can occur when local datasets are created using a
SQLClientDataset component. Note that this component is
designed for provider datasets. For local datasets, use a
ClientDataset component.
===============
WEB DEVELOPMENT
===============
WebSnap session support unavailable
-----------------------------------
[Enterprise edition only]
WebSnap session support (as implemented in TSessionsService)
is not available on Linux.
Detail: As they are in Windows DLLs, global variables in Linux shared
objects are shared across all threads that use the shared object, and each
process that loads the shared object gets its own copy of the data
segment. On Windows, IIS spawns threads to allow the sharing of global
objects in DLLs. On Linux, however, Apache spawns new processes, each of
which has its own data segment and global variables. Since session support,
as implemented in TSessionsService, is dependent on the sharing of global
variables, it cannot work on Linux.
Browser Preview feature issues
------------------------------
The Mozilla Preview Widget is required for browser previews.
If you choose not to install the widget, you will get no response
if you attempt to Preview an HTML or XML document in the code editor.
In addition, the Preview does not support secure socket transport
(https://...). This is not an issue for previewing local HTML files,
but if the file to be previewed contains a link that uses a secure socket,
the link will not work.
Secure sockets not supported in WSDL Importer
---------------------------------------------
WSDL Importer fails if the Address is a secure connection
(https).
Example:
File>New WebServices>Soap Importer
Enter a WSDL from a secure connection
https://mySite/WebServices/NetWebService/SimpleDocumentService.asmx?WSDL
Expected:
Source code generation
Actual:
Error: "Could not open file (URL)"
Workaround:
1. Use your browser to view the WSDL file.
2. Save the source to a local file.
3. Import the local file.
Apache configuration
--------------------
WebBroker supports Apache version 1.3.9 and later.
To run the CgiServer demo, create a script directory named
"scripts" that points to the physical directory in which the CGI
executable is located. To do this, add the following line to the
httpd.conf file:
ScriptAlias /scripts/ "/<directory>/httpd/cgi-bin/"
where <directory> is the full path to the directory in which
Apache is installed. Do not omit the trailing slash.
Next, verify that the physical directory has the ExecCGI option
set to allow execution of programs. httpd.conf should contain
lines similar to the following:
<Directory "/<directory>/httpd/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
httpd.conf must also contain:
SetEnv LD_LIBRARY_PATH <install directory>/bin
where <install directory> is the full path to the Kylix
installation directory.
For database web applications, httpd.conf must also contain:
SetEnv HOME <home directory>
where <home directory> is the full path to the location
of a .borland directory (or the Apache user's .borland directory).
If you omit this setting, the database drivers will use the
default configuration files located in /usr/local/etc/.
For other problems, check the Apache error_log file.
Web Service and cdecl
---------------------
Recommendation: Avoid using the cdecl calling convention in
Web Service server methods.
DataSnap tip
------------
A CGI server will correctly handle a SOAP request if you set
a LANG environment variable in your httpd.conf file, as follows:
SetEnv LANG en_US
X Windows requirement for JPEG
------------------------------
X Windows must be running to enable JPEG support in NetCLX.
ThreadCacheSize and connection count
------------------------------------
ThreadCacheSize should always be set to a value that matches
or exceeds the number of anticipated client connections.
Other Web development issues
----------------------------
The socket classes implement blocking I/O. Use a separate
thread to implement nonblocking behavior.
TTcpClient and TTcpServer implement the TCP/IP SOCK_STREAM socket
type. The server starts a new thread for each connection. Socket
ports below 1024 require root permission to accept connections.
(Recommendation: Develop and debug with ports 1024 and above,
and deploy with ports below 1024).
SOAP/WSDL issue
---------------
If an Apache server (httpd.conf) is configured to listen on port 8080,
running the soapserver/wsdl generates a link without the correct port
information appended.
TXMLDocument note
-----------------
If you set the DOMVendor property of a TXMLDocument component to
OpenXML, you must also add oxmldom to your uses clause.
==========================================
INTERNATIONAL/CHARACTER SETS/LOCALE ISSUES
==========================================
Japanese locale/IME issue
-------------------------
When X Server's "backing-store" setting is "NO" (the default),
the system's Input Method Editor (IME) may behave abnormally,
causing it to flash, and window and form captions may not
accept multibyte characters correctly.
To correct this problem when using a Japanese locale (ONLY),
set the backing-store value to "YES" by typing this command in
a console window:
startx -- +bs
To check the current backing-store value on your system, type
xdpyinfo|grep "backing-store"
in a console window.
Caldera OpenLinux 3.1.1 MBCS/glyph issue
----------------------------------------
If you are running Kylix under OpenLinux 3.1.1, you may encounter
a failure in rendering the correct glyphs for multibyte character
sets (MBCS).
Workaround: Use an X11 font server. OpenLinux does not, by default,
start a font server, but you can set the X11 font server at any time
by executing the following shell command sequence:
xfs &
sleep 3
xset +fp unix/:7100
xset fp rehash
AnsiUpperCase, AnsiLowerCase, and MBCS
--------------------------------------
AnsiUpperCase and AnsiLowerCase functions can only use characters
that exist in the current locale. Thus, if any of the characters
being converted do not have an opposite case equivalent in the
current locale, the function will not work as expected.
MBCS and the default character set
----------------------------------
If you intend to display multibyte characters in your
application, set the Font.Charset property to fcsDefaultCharSet
in your main form.
TTextBrowser and Asian HTML
---------------------------
TTextBrowser may not display HTML with Asian characters
correctly. A workaround is to force the proper encoding at
runtime:
TextBrowser1.Factory.RegisterMimeType('html',
'text/html;charset=SJIS'); // change encoding
TextBrowser1.LoadFromFile(TextBrowser1.FileName); // reload
Help viewer and Asian locales
--------------------------------------
The Kylix Help Viewer will not run under Red Hat 7 or later
(Japanese), Red Hat 6.2 or later with Chinese locale,
or Mandrake 8 or later with Chinese locale.
Workaround:
As root:
1. cp <kylix installation path>/kylix/help/app-defaults/app-defaults
/usr/lib/X11/app-defaults/HyperHelp
example:
cp /home/user/kylix/help/app-defaults/app-defaults
/usr/lib/app-defaults/HyperHelp
2. Open the HyperHelp configuration file with any text editor.
example:
vi /usr/lib/X11/app-defaults/Hyperhelp
3. Add the line:
HyperHelp*inputMethod:""
Save the file, exit the editor, run Kylix, run Help.
Help viewer problem with dead key and ALT-GR input
--------------------------------------------------
The Help Viewer is reported to stop accepting dead key and ALT-GR
input in some European locales. Other input is still accepted and
the Help Viewer is otherwise usable.
Unable to run IDE under some locales
------------------------------------
If you attempt to run the Kylix IDE under the tr_TR locale, the
program may abort with the message "could not find useable fonts
for this locale". This is due to a problem accessing ISO 8859-9
fonts and might affect other locales.
Workaround: Use a different locale.
Code Editor problem with some non-Latin1 fonts
----------------------------------------------
The code editor sometimes displays the Latin1 character set, even
though a non-Latin1 locale (such as pl_PL) is in use. This
problem does not affect all fonts, so you can work around it by
changing the font used:
1. Choose Tools|Editor Options, then choose the Display tab in
the Editor Properties dialog.
2. In the Editor font drop-down list, select a different font.
3. Click "OK".
If the code editor is still using the Latin1 character set,
repeat the above steps and choose a different font.
LANG required for Chinese character sets
----------------------------------------
Kylix requires that the LANG environment variable be set to the
current locale in order to display Chinese character sets. Some
distributions, notably Turbo Linux 6.1 and Red Flag Linux 2.0, do
not automatically set LANG. To work around this problem, set LANG
before running Kylix to zh_CN (for Simplified characters) or
zh_TW (for Traditional characters). For example:
export LANG=zh_CN
startkylix
Date display errors in Asian locales
------------------------------------
Kylix applications may not display dates correctly in Asian
locales. This problem has been observed under Red Hat 7.0, and
may be present under other distributions.
To work around this problem, define the desired date format by
setting the ShortDateFormat global variable in program code.
TurboLinux using Simplified Chinese
-----------------------------------
In TurboLinux Chinese using Simplified Chinese, Chinese characters
entered into a VCLX component will not display properly. This is a
Qt font problem, and cannot be fixed by setting the LANG variable
as in Traditional Chinese.
Detail: In TLW61/zh_CN, there are just three font sizes: 14, 16,
and 24. By default, the designer sets CLX components at size 12.
However, since there is no font to display on TLW61/zh_CN, this
causes "garbage" characters to be displayed.
Workaround: Set the size of the font to 14, 16, or 24
on TLW61/zh_CN.
WideString literal assignment issue
-----------------------------------
WideString literal assignment causes SIGSEGV when
literal value > #255.
e.g., using the Hungarian (hu_HU) locale,
var w: WideString;
......
w := #$0161; // s with hacek
causes a segmentation violation, while
w := '?';
w[1] := #$0161;
works fine.
Locales and form editing
------------------------
Exercise care when editing forms as text when the form contains
string data specific to a certain locale character set. If you edit a
form as text in a different locale that cannot represent the characters
of the original locale, the data in the form will be corrupted.
This is a general issue with code pages, not specific to form files
or to Linux. The issue arises because the Kylix IDE attempts to
convert Unicode strings stored in the text form into locale characters
when you view a form as text. This conversion may lose information if,
for example, a form contains European accented characters and you try to
view it as text on a machine running a Chinese locale character set.
=============
DOCUMENTATION
=============
TSoapConnection.URL clarification
---------------------------------
The topic describing the URL property in TSoapConnection includes
this reference to a typical URL construction:
"http://DataHost.org/scripts/AppServer.dll/SOAP"
However, the example URL is incomplete. The name of your SOAP Data
Module is also needed:
"http://DataHost.org/scripts/AppServer.dll/SOAP/YourSOAPDataModule"
Using online Help
-----------------
Online documentation, in the form of HyperHelp (.hlp) files,
is located in the help subdirectory under the Kylix installation
directory. If you selected the "Desktop menu items" option
during graphical installation, you should find a "Kylix Help"
menu item that starts the HyperHelp viewer. This menu item, like
the "hyperhelp" symbolic link that the installer creates in the
Link Path directory, points to the hyperhelp.sh script.
The help viewer can be run through the IDE by running the
hyperhelp.sh script. Do not run the hyperhelp executable
directly. The hyperhelp.sh script is required to set important
environment variables. You can pass a file name to the script on
the command line or, once the HyperHelp viewer is running, choose
File|Open from the menu to select an .hlp file for viewing. More
information about the HyperHelp viewer is available in hoh.hlp
and hhintro.txt.
The Help files included with Kylix are still under development.
For updates, monitor the Kylix web page at:
http://www.borland.com/kylix/
Troubleshooting online Help
---------------------------
You can display context-sensitive Help on objects (on the form,
in the Code editor, or the Object Inspector), dialogs, menu items,
etc. by pressing F1 with the cursor on the item. If F1 doesn't
display Help, the Help may be open already. Close the Help viewer
and press F1 again to display the appropriate topic.
Also, the Help viewer will not display the same topic twice in a row.
For example, if you choose Help|Kylix Help, close the Help window
then try to display it again using the same method, it will not display.
You need to open Help using another method such as pressing F1 on the
form. Also, if you open help using any of the Help menu items such as
Help|Kylix Help, pressing F1 will not display context-sensitive Help
until you close the Help viewer.
Hang viewing man pages on SuSE 7.0
----------------------------------
Kylix can hang when the F1 key is used to bring up
context-sensitive help on SuSE 7.0 systems. The only recovery is
to kill all Kylix processes.
This problem is caused by an interaction between the Kylix man
page viewer and the system. To disable the man page viewer,
remove the Borland Sample Help Viewers Package from the Design
Packages list. To do this,
1. Choose Component|Install Packages.
2. In the Design Packages list box, select Borland Sample
Help Viewer Package.
3. Click the "Remove" button.
4. A confirmation dialog box appears. Click OK.
5. Press Cancel to dismiss the configuration dialog box.
===================
THE FREECLX PROJECT
===================
FreeCLX is the Open Source project for Borland's CLX
Component Library for Linux. The project allows you to
collaborate in the continued development of CLX library
elements and to rebuild and redeploy the Open Source library
in any manner you want*.
The FreeCLX project uses SourceForge to allow for anonymous
CVS access, bug reports, and patch submissions. The project
home site is http://freeclx.sourceforge.net/
* In order to maintain compatibility with applications
developed and distributed against the official Borland
Kylix CLX libraries, modified binary runtime packages
must be distributed under names other than those
deployed officially from Borland.
-------------------------------------------------------
Copyright (c) 2001 Borland Software Corporation.
All rights reserved.
-------------------------------------------------------
--------------060303080106000706010309--
Technical Details
Message-ID:
<3C637D10.7060407@yahoo.com.ar>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!opentransit.net!fu-berlin.de!uni-berlin.de!213-98-91-117.uc.nombres.ttd.ES!not-for-mailReferences:
<vpx48.70524$MO1.264822@telenews.teleline.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,cf28aeefb88a4bc3 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-02-08 04:20:35 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!opentransit.net!fu-berlin.de!uni-berlin.de!213-98-91-117.uc.nombres.ttd.ES!not-for-mail From: "Leonardo F. Bauchwitz" <lbauchwitz@yahoo.com.ar> Newsgroups: es.comp.os.linux.programacion Subject: Re: Consultas varias Kylix 2 OE Date: Fri, 08 Feb 2002 08:24:00 +0100 Organization: Red de servidores de news de escomposlinux.org Lines: 1366 Message-ID: <3C637D10.7060407@yahoo.com.ar> References: <vpx48.70524$MO1.264822@telenews.teleline.es> NNTP-Posting-Host: 213-98-91-117.uc.nombres.ttd.es (213.98.91.117) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060303080106000706010309" X-Trace: fu-berlin.de 1013170817 44863188 213.98.91.117 (16 [63420]) X-Orig-Path: julieta.escomposlinux.org!dakota.dakotabcn.net!reboot.escomposlinux.org!news.audiolis.com!217.127.183.203!eriador.escomposlinux.org!not-for-mail User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:0.9.4) Gecko/20011126 Netscape6/6.2.1 X-Accept-Language: en-us