Delphi has proven extremely efficient in web development, especially when
accessing databases.
I'd add a caveat here - I've had great difficulty getting web applications
to scale when using BDE. Using alternative database access has made life a
lot easier.
Stephen Bertram
er to copy the text from the "disabled" control.
Stephen Bertram
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL P
as a TCombobox and manual
populate it and handle events :-(
TIA
Stephen Bertram
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL
as a TCombobox and manual
populate it and handle events :-(
TIA
Stephen Bertram
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL
I found that I could get it to work by leaving the dataset unfiltered except
when the list is dropped down. Clunky, but it works.
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
as ButtonAClick(ButtonA);
HTH
Stephen Bertram
-Original Message-
From: Joel van Velden [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, 29 November 2000 15:47
To: Multiple recipients of list delphi
Subject: [DUG]: Procedure Problem
Hi there all,
Just 1 newbie question:
How do I run an event-handlers
Question - is the new component automatically freed when the form is
destroyed?
I've normally kept a list of components created on the fly and specifically
freed them - maybe I don't need to.
Stephen
-Original Message-
From: Stacey Verner [mailto:[EMAIL PROTECTED]]
Sent: Wednesday,
You can store the pointer of the treeview in a TList object and use the
index in the TList to access it. The trick is to keep a handle on what each
pointer represents. This just duplicates the internals of a TForm.
I've seen an implementation where each intance is given a unique .tag
property
the error?
TIA
Stephen Bertram
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of "unsubscribe delphi"
Thanks, that seems to have cleared it.
Strange that its worked for some years without a problem :-)
Stephen Bertram
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http
Yes - we use it for our schema control.
What would you like to know?
Stephen Bertram
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Friday, 8 December 2000 03:59
To: Multiple recipients of list delphi
Subject: [DUG]: Anyone using ERWin ?
Hi al.
Is anyone
that has a realistic number of tables, but it does have good
modelling capabilities.
Stephen Bertram
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Friday, 8 December 2000 04:36
To: Multiple recipients of list delphi
Subject: RE: [DUG]: Anyone using ERWin ?
Well
In the past I have initialised a stringlist with the function names and the
function pointer held in the data object. This does require that all
functions called in this way have a standard parameter and return format,
but it's easily maintained, and error trapping and debugging are simple.
for navigation.
I must admit that I have never figured how to identify a user session from
the server parameters available to a CGI/ISAPI. If the app could see the
session id from the server life would be a lot simpler.
HTH
Stephen Bertram
pplication setup code is in the OK button OnClick event
handler).
This works well except that when the application is open it behaves as if
the login form is still active and does not allow user focus.
Any ideas on how or when I can fire the button click to avoid this?
Steph
Paul :
Can you do the Evaluation in the DPR and Create or not Create the Logon
Form ?
Of course I can - but I'm trying to avoid too much rewriting and there's a
hell of a lot of business logic in the Form Activate and On Click event
handlers.
Nello :
how are you simulating the "ok" click?
I do this by creating the record structure with new first - eg
procedure add(strlst : TStringList; txt : string; [items for record] ...)
var
rec_ptr : ^TNodeRecord;
begin
new(rec_ptr);
rec_ptr^.ntype := typ;
rec_ptr^.level := level;
rec_ptr^.actionable := actionable;
You just have to reverse the process eg
function read_record(strlst : TStringList; idx : integer):
var
rec_ptr : ^TNodeRecord;
level := integer;
typ := TRecType;
begin
rec_ptr := strlst.objects[i];
typ:= rec_ptr^.ntype;
level := rec_ptr^.level;
...
Not intuitive
I agree entirely Patrick, but when your existing application has screeds of
treeviews the objects are very convenient for a QD extension using the
existing node navigation.
Stephen
---
New Zealand Delphi Users group -
On reflection I would do as Patrick suggests - declare the structure as a
class
TNodeRecord = record == TNodeObject = class(TObject)
typ : TRecType; typ : TRecType;
... ...
my_pointer :=
with Delphi -
SourceSafe is definitely not perfect.
Cheers
Stephen Bertram
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email
ecord"
If not ADOQuery.eof the close method executes correctly.
This is with D5 update pack 1, Windows 2000 and MSSQL 7.
Unfortunately ATM I cannot access any internet resources, so I cannot browse
FAQ's on this.
TIA
Steph
be followed to make ALL displayed text automatically
converted?
What are the maintenance issues, both in the development and client
environments?
Any pointers will be welcome.
TIA
Stephen Bertram
---
New Zealand Delphi Users
I need a bulletproof routine to create unique integer IDs for inserting rows
into multiple tables in a MSSQL 7 database.
The catches are that I want the ID's to be unique in the database, not just
each table, and the generator must be available to stored procedures.
Also the generator needs to
en certainly go down the
track you are.
Kind Regards
Gary
At 15:29 on 11/01/2001 Stephen wrote
To :
CC :
From: Stephen Bertram, [EMAIL PROTECTED]
I need a bulletproof routine to create unique integer IDs for inserting
rows
into multiple tables in a MSSQL 7 database.
The catches are
The problem is :
Process 1 generates 11
Process 2 generates 12
Process 3 generates 13
Process 1 issues a rollback - ID 11 is now unused
Process 4 generates 11 - based on rolledback seed value.
Process 5 generates 12 !! Duplicate
Process 6 generates 13 !! Duplicate
Or am I missing something
Neven
You are right in the "normal" cases. What I'm thinking of (don't read this
if you have a bad heart!) is the case where a procedure to insert a row in
table_1 triggers multiple row insertions in table_2.
Something like :
Get ID
Start Transaction
Insert row in table_1
Insert trigger :
Thanks David
I tried clearing out all unnecessary help, but the main VCL components still
do not appear in the Index tab. Not a total disaster, but I am trying to
teach Delphi to a graduate programmer and she is threatening to use VB :-(
Cheers
Stephen
...I would try to use this to rebuild
Thanks Moises
I think you're right on the button as I also have installed Multilizer. I
have removed it from the help lists some time ago, but the problem remains.
Stephen
-Original Message-
From: Moises Lopez [mailto:[EMAIL PROTECTED]]
Sent: Thursday, 18 January 2001 6:37 p.m.
To:
I am struggling to get ADO working with WIN2000/SQL2000 Client and MSSQL7.0
server. The problem surfaces mainly accessing stored procedures returning
more than 1 row.
Can anyone point me to any good papers on using the ADO components
effectively and any known problems?
Nice to have DUG back
Sorry - fired off the last reply without reading your post properly. Just
use:
ANode := TreeView.Items.Add(...);
TreeView.selected := ANode;
or
ANode.selected := True;
Stephen
-Original Message-
From: Chrissy [mailto:[EMAIL PROTECTED]]
Sent: Thursday, 1 February 2001 8:56
I'm using TFrame for the first time and expected it behave lie a TForm, but
have found a strange behaviour when trying to create multiple instances.
Basically TFrame.Create appears to create a phantom component "Frame" which
is a singleton.
Can anyone throw any light on this?
Stephen
oblem. Thanks for the pointer, Carl.
Cheers
Stephen
-Original Message-
From: Carl Reynolds [mailto:[EMAIL PROTECTED]]
Sent: Monday, 5 February 2001 3:20 p.m.
To: Multiple recipients of list delphi
Subject: RE: [DUG]: Using Frames
From: Stephen Bertram [mailto:[EMAIL PROTECTED]]
proc
I have a need to add a couple of properties and an interface to all my
controls. ATM I'm creating descendants and adding then to each class, but
it would be much neater to insert a new ancestor containing the properties
between TWinControl and TGraphicControl and TControl.
On a first attempt I
I know, I know, but it would save me 4000 lines of code (30 instances of the
same code) which all has to be updated every time I change anyting during
the implementation phase. Adding as ancestor is sooo attractive :-(
Thanks
Stephen
-Original Message-
From: GARY T BENNER
-
From: Stephen Bertram [EMAIL PROTECTED]
To: Multiple recipients of list delphi [EMAIL PROTECTED]
Sent: Thursday, 15 February 2001 12:11
Subject: [DUG]: Mucking with Controls.pas
I have a need to add a couple of properties and an interface to all my
controls. ATM I'm creating descendants
Hey - great ideas folks. I did not realize you could expose private fields
via an interface on a decendent. I'll give it a go later today.
Thanks
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL
I'm creating a customized menu system built from scratch, but generally
mirroring the VCL TMainMenu. I want to use the standard VCL
TMenuItemProperty editor, but can't see how to declare it so it can be
registered.
Can anyone give me an example to illustrate how to register the standard
As a quick thought try the following for the root nodes:
if (TreeViewCompts.Items.Count = 0) then
begin
{Add the root node}
TreeViewCompts.Items.Clear; {remove any existing nodes}
Node := TreeViewCompts.Items.Add( NIL ,Name); {Add
the root node}
end;
Stephen
One of my predecessors here added some hooks into SysUtils.pas. The side
effect has been to make sysutils visible to the debugger and this can get
very annoying when stepping through a function call as you tend to spend
about 1 steps wading through the assembler lines dealing with string
I installed a clean copy of D5 on Win2k Professional and then upgraded with
no problems.
The original files were timestamped 11/8/1999 5:00 a.m.
HTH
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL
The simple way I found to do this was to set up a StringList with the name
of the function in the list and a pointer to the function in the Object
property.
The problems were to populate the list at runtime and to have all the called
functions having common parameter lists and return types. I
Further to my earlier post I found some of the code I used to call functions
by name at runtime and have put this below. The basic idea (and the bulk of
the code) for this was given to me by a C programmer.
If anyone has a neater way to access methods at runtime I would love to see
it.
Stephen
That's much nicer than my method as you don't have to predetermine the
format of the parameters or remember to add them to the list. I knew there
had to be a way but missed the MethodAddress option.
Thanks
Stephen
-Original Message-
From: Nahum Wild [mailto:[EMAIL PROTECTED]]
Sent:
1. Ctrl-Shift-UP/DOWN
2. Ctrl-Shift-C - Generates all procedure wrappers for the current object.
Even better will implement a field and setter procedure for a property
declaration.
e.g. Type property xyz: String; and press Ctrl-Shift-C
Stephen
Hi
Collin
If
both PC's are visible via the internet I would use a simple TCP/IP socket
transfer. It is simple to program, robust and flexible. There is no
limit to the number of machines that can access the remote machine(s) and
transfer can be scheduled or on demand.
If you
want a
HTML Help Kit for Delphi
http://www.helpware.net
We use this in all our apps. Simple and free.
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website:
I would suspect it isn't NT4, but the users date format setting.
We have had many problems communicating dates reliably between different
machines and now tend to use FloatToStr(DateTimeVar) which gives an ASCII
floating point number which can be read as DateTimeVar =
StrToFloat(ASCII_Value)
Be
Can anyone tell me why this fails with Win 95 and what I can do about it?
Works fine in Win 2000.
with TRegistry.Create do
begin
RootKey := HKEY_CURRENT_USER;
if OpenKey('\Software\packageX\anExistingEntry', False) then
try
try
if ValueExists(Value) then
You might like to quess the answer to the following question.
Given:
var
StrArray : Array of String;
x : String;
const
FS = #29;
Routine 1
for i := 0 to high(StrArray) do
x := x + StrArray[i] + FS;
Routine 2
for i := 0 to high(StrArray) do
begin
x := x + StrArray[i];
What is a method of specifying a date in a filter string for a ClientDataset
that is independent of the local ShortDateFormat ?
Obviously 'DateField = ''' + DateToStr(TargetDate) + does not work.
Nor does 'DateField = ' + FloatToStr(TargetDate).
Is there a date format that can be used
Hi
Donovan
I
assume you are trying to normalise out common data.
Question 1
The
simplest way is as a TStringList if the Player IDs are not contiguous - thsi
handles non-existant IDs and a lot of hastles. If the IDs are a contiguous
list and will always exist you can use an array of
From bitter experience with W95 I am certain that Windows does not clean up
memory that has been left hanging by a Delphi App. To a large extent this
is due to the hands-off that windows adopts to allow spawned threads to
continue running after the spawning application has completed I believe.
Hi All
If anyone can tell me how to access the number of active connections using
TIdTCPServer I would appreciate it.
TIA
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
I have a multi-threaded application that is throwing errors (only in the
runtime environment) in the form of
The instruction at 0x004fd936 referenced memory at 0x00018. The
memory could not be read
How do I locate the source of the problem using the .map file (or any other
method)?
TIA
Hi Ross
A bit naf in the OO world, but an old trick to avoid declaring a StringList
is to add an identifier to your search string. ie
IsAudio := (pos(Extension + '@', '.wav@.mp3@.ogg@'));
Stephen
---
New Zealand
That should have been
IsAudio := (pos(Extension + '@', '.wav@.mp3@.ogg@') 0);
:-(
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
Can anyone interpret the following error. It is occurring on program exit
and may relate to a hanging thread.
Unknown exception (0x0eedfade) at ...
TIA
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL
frustration.
Andrew Cooke.
-Original Message-
From: Stephen Bertram [mailto:[EMAIL PROTECTED]]
Sent: Friday, 3 August 2001 9:09 a.m.
To: Multiple recipients of list delphi
Subject: [DUG]: Unknown error
Can anyone interpret the following error. It is occurring on program exit
and may
Thanks Myles - that is exactly the lead I need.
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
If you
have written TMyBaseComponent change it to :
TMyBaseComponent =
class(TComponent)private FMyProp : string;
FOnMyEvent : TNotifyEvent;
protected
procedure
SetMyProp(Value: string); virtual;
published property MyProp : string read
FMyProp write SetMyProp; property
OnMyEvent :
Hi Paul
I've only seen this where the application is threaded and then it can be
solved (BDE) by giving each thread an independent session.
As to the date format error, check the ShortDateFormat. You may have to
coerce the date into a dd-mmm- or mmdd format. SQL 7 is set up by
default
Hi
I have an application using ADO that needs to monitor the availability of a
SQL7 / 2000 database. If the connection is lost the connection needs to be
reestablished as soon as the database is available.
At present the Connected status does not change when the connection is lost.
Can
From memory I think for MSSQL you should use a format like:
UPDATE a
SET Department = b.Department
FROM SHDayD a, Product b
WHERE a.ScanCode = b.ScanCode
HTH
Stephen
-Original Message-
From: David Brennan [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, 2 October 2001 10:41 a.m.
To: Multiple
We've used the Dream Tree components successfully. ($US29 for full version)
http://www.dreamcompany.com/
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website:
Doesn't RenameFile() cover this ?
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of
This is an area where I have never found one answer solves all.
The main thing to watch is memory leaks - we use Sleuth Codewatch and it has saved us
a couple of times.
With multithreading you have to add critical sections and inuse flags. If the ojects
are shortuse you can envelope the
gradual decrease in performance etc..) all seemed fine, which was..
reassuring.. :-)
thanks,
ben.
--- Stephen Bertram [EMAIL PROTECTED] wrote:
This is an area where I have never found one answer solves all.
The main thing to watch is memory leaks - we use Sleuth Codewatch and
it has saved us
Hi
Paul
Your
code works fine within and without the "with" in Delphi 5
here.
Stephen
-Original Message-From: Paul McKenzie
[mailto:[EMAIL PROTECTED]]Sent: Wednesday, 28 August 2002 10:18
a.m.To: Multiple recipients of list delphiSubject:
[DUG]: weird behavour with Format
Title: Controlling conditional help
Has anyone used conditional help files controlled from a Delphi applications?
We have written HTML help files that include various sections that are only visible to the users if certain system switches are set. I can include or hide these sections by
We're having a quiet
(NOT) discussion about the PCness of the following code:
function
FindFirstMatch (List: TItemList; Status: TItemStatus):
Integer;
begin
for Result :=
0 to List.Count - 1 do
if List[Result].Status = Status then
Exit;
Result :=
-1;
end;
The main objection
is the
I've
done this in 5 different ways. One of the moreflexible
is
function statement(Sep, Quote: String): string;
var
I: integer;
begin
Result := Sep;
for I := 0 to pred(ItemCount)
do
Result
:=format('%s%s%s%s%s',[Result,Sep,Quote,Item[I],Quote])
Delete(Result, 1, Length(Sep);
end;
I am struggling with the performance of TADOQuery on one machine.
Running a stored procedure that returns around 1 rows it takes 10.5 seconds to
iterate though the rows:
while not qry.Eof do
qry.Next;
On investigation I found that then SQL ran in 0.8 seconds, the first 1000 rows were
I forgot to mention that we are connecting to SQL Server 2000
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to:
or 2.7 etc.
A slower CPU or perhaps it is getting network errors? Although you seem to
hint that network is working okay.
Myles.
-Original Message-
From: Stephen Bertram [mailto:StephenB;ensynergy.co.nz]
Sent: Tuesday, 12 November 2002 4:55 p.m.
To: Multiple recipients of list delphi
Subject
? Are they all the same eg MDAC 2.5, 2.6
or 2.7 etc.
A slower CPU or perhaps it is getting network errors? Although you seem to
hint that network is working okay.
Myles.
-Original Message-
From: Stephen Bertram [mailto:StephenB;ensynergy.co.nz]
Sent: Tuesday, 12 November 2002 4:55 p.m
if Assigned(MyStringList) then
.
-Original Message-
From: Mark Howard [mailto:mhoward;pslog.co.nz]
Sent: Thursday, 14 November 2002 11:37 a.m.
To: Multiple recipients of list delphi
Subject: [DUG]: Testing for existence of TStringList
Hi
Sorry. Basic question.
How do you test
Hi all
I know I have seen this before and fixed it, but I can't remember how. This is
connecting to Ingres via ODBC with a TADOConnection. The failure is on a simple select
statement.
Error message : The requested operation cannot be performed with active queries
There are no current
Title: Message
We use
UPX to compress our Delphi apps as we deploy via the web - to date we have had
no problems at all..
HTH
Stephen
Original Message-From: Jeremy Coulter
[mailto:[EMAIL PROTECTED]]Sent: Monday, 20 January 2003 8:13
a.m.To: Multiple recipients of list
Hi All
What is the easiest method to create barcode labels from Delphi?
Cheers
Stephen
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub,
Hi All
A strange occurrence which I am unable to explain, but I feel that I have seen before.
This is with Delphi 5 and SQL Server 2000.
We have a thread which updates a SQL Server database via a stored procedure when
monitored data in the application is changed or added. The thread
Borland to your Delphi 5?
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of Stephen Bertram
Sent: Wednesday, 28 May 2003 8:53 a.m.
To: Multiple recipients of list delphi
Subject: [DUG]: ADO funny
Hi All
A strange occurrence which I am unable to explain, but I feel
try Format('%2.2d',[IntValue])
-Original Message-
From: Leigh Wanstead [mailto:[EMAIL PROTECTED]
Sent: Monday, 28 July 2003 10:49 a.m.
To: Multiple recipients of list delphi
Subject: [DUG]: Integer conversion
Hello everyone,
I want to convert integer to string.
Here is the rule
Title: myOffice Email Message
Yay!!
All
power to the keepers of the list !!!
Thanks
guys for all the good work.
Stephen
-Original Message-From:
Gary T. Benner [mailto:[EMAIL PROTECTED]Sent: Monday, 28 July
2003 11:35 a.m.To: Multiple recipients of list
delphiSubject: [DUG]:
Have you tried FOR XML RAW ?
Stephen
-Original Message-
From: vss [mailto:[EMAIL PROTECTED]
Sent: Wednesday, 30 July 2003 1:38 p.m.
To: Multiple recipients of list delphi
Subject: [DUG]: ADOTables and XML files
HI All.
I have come back to looking at loading XML files into ADO Tables
.
To: Multiple recipients of list delphi
Subject: RE: [DUG]: ADOTables and XML files
yip. but it gives me a different error now.
Are you doing this Stephen? Maybe if you are and it works ok for you, I
might be doing something wrong?
Jeremy
-Original Message-
From: Stephen Bertram [EMAIL
Why not use IIS linked through to your SQL Server and get the result as a XML stream
via HTTP?
You can use IIS security and even HTTPS if required. Just use Configure XML Support
in IIS from the SQL Server menu to set it up.
Stephen
-Original Message-
From: vss [mailto:[EMAIL
Hi All
I am using the TOLEContainer (in Delphi 5) for the first time and have struck a sizing
issue.
I have placed the TOLEContainer in a TPanel as recommended in the help, but as soon as
the OLEObject is activated it expands the TPanel to fill the owning form, regardless
of the other
Hi All
Can anyone give me a quick pointer on how to change the colour of TButton and the
column headers in TListBox? I know there are third party components, but there are
reasons why I want to use the basic windows controls.
I'm using Delphi 5.
TIA
Stephen
Disclaimer : This communication
89 matches
Mail list logo