Delphi complaint about the form, "stream error"

CodeGear Delphi 2007, 2009
  1. Rename the .dfm to .txt. Or run $(Delphi)\bin\convert.exe -t Form.txt
  2. Run $(Delphi)\bin\convert.exe Form.txt
  3. Reload Delphi and load the form.
This will convert the form in text into the binary version of .dfm file.

This should be useful:
  • To cure "stream error".
  • When the form from a legacy project behaves erratically.
  • To remove junk and reduce the .dfm file size of the form.
    For example, converting through uploading to text format and back reduced the size of the main form in my project Activity and Authentication Analyzer from 627 KB to 283.
Delphi Form Conversion Utility Copyright (c) Embarcadero Technologies, Inc. Usage: convert.exe [-i] [-s] [-t | -b] <filespec(s) | @filelist> -i Convert files in-place (output overwrites input) -s Recurse subdirectories -t Convert to text -b Convert to binary

Oracle SQL. The first difficulties that users overcome

How to find out the Oracle version

The Oracle version can be found by requesting select version from v$instance; in SQL Plus

ORACLE_HOME

ORACLE_HOME environment variable is set to the path one level above the bin directory where SQL Plus executable file is located.

"No TNS entries found" Error message

In order to remove this message set TNS_ADMIN environment variable to the path where the file tnsnames.ora is located.
TNS stands for Transparent Network Substrate is a proprietary Oracle computer-networking technology, supports homogeneous peer-to-peer connectivity on top of other networking technologies such as TCP/IP, SDP and named pipes © Wikipedia.

"No valid Oracle clients found"

This error occurs when one try to connect an Oracle database, through a Client like Toad for Oracle. To solve add the folder where Oracle client is located to the Path variable.

Starting with Oracle 10g, along with the exp, imp utilities, appeared two new Data Pump utilities: expdp and impdp respectively.
They are also located in the bin directory of the Oracle home folder.
The old export and import utilities are client-side oriented, while the new ones are server-side oriented. Although the old and new utilities are similar in usage, the results are completely different. This means that a dump exported with exp cannot be imported with impdp.

Default directory for the dmp file

If the directory is not specified, Oracle tries to seek the dmp file in the default directory, which is something like that
«drive letter»:\app\«user name»\admin\oratest\dpdump or
«drive letter»:\app\«user name»\product\21c\admin\xe\dpdump in newer versions of Oracle

How to view already available directories for Data Pump

This request select directory_name, directory_path from dba_directories; in SQL Plus shows available directories.

TBytesStream class for Delphi 2007

CodeGear Delphi 2007
TBytesStream class was added in Delphi 2009, so I define it manually for CodeGear Delphi 2007. type TBytesStream = class(TMemoryStream) private FBytes: TBytes; FCapacity: Longint; FSize: Longint; protected function Realloc(var NewCapacity: Longint): Pointer; override; public constructor Create(const ABytes: TBytes); overload; property Bytes: TBytes read FBytes; end; Full unit published on Github

ZEOS Library 8.0.0 does not support Delphi 2007 and older

ZEOS Library
A file ZBase64.pas appeared in the ZEOS Library 8.0.0 in folder with path "src\core\" that can not be compiled.
The class TBytesStream in ZBase64.pas was added in Delphi 2009.

SqlitePass support for the Rad Studio Delphi 2007

CodeGear Delphi 2007
This my addition gives the support for Rad Studio Delphi 2007 to SqlitePass and quite possible to Delphi 2005, 2006.
The most significant processing has been made to the file SqlitePassDbo.inc
Published on Github