Hi All.
It might be useful for me to post my experiences with debugging a particularly
difficult software problem. Many or most of you will be aware of this procedure
I have done, but for those in the future who like me, are struggling with an
issue I hope it helps:
Scenario:
When closing
Hi all.
I have found a destroy resource problem which is indicated to be in menus.pas.
destructor TMenuItem.Destroy;
begin
ShortCutItems.ClearItem(Self);
if FParent nil then
begin
FParent.Remove(Self);
FParent := nil;
end;
while Count 0 do Items[0].Free;
if FHandle 0 then
I wanted to try this out before buying it off TurboPower but their email info
address bounces. Does anyone know about this?
Thanks,
Alistair
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Hello James,
I've just confirmed what u say here.
So does anyone know where I can get a copy - it is not being placed in
sourceforge.
Thanks,
Al+
Thursday, November 13, 2003, 4:01:41 PM, you wrote:
JS They no longer exist. Either it is open source or the parent company will be
JS trying to
Hello Phil,
Yes, where I came unstuck was the following:
PM when the TComponentList instance is itself destroyed.
Where I was wrongly thinking the TComponentlist needed to be freed, then worked
backwards from there when things did not work correctly.
A moot point but part of the constant learning
Hello Jeremy,
JC slightly different to Al's problem in that when windows trys to shut my app,
JC only the OnCloseQuery is fired EVEN if I set CanClose:=true;
OCQuery is called regardless if you call close.
What you are probably dealing with here J is 'Attempt to free unexisting
resource'
Get
TJ MessageYou need to create a message handler for
TJ WM_QUERYENDSESSION and return true (I think - check the docs).
This is correct, but it is circumventing the original problem if I am correct in
my previous assumption of resource errors.
If thats the case, that method will also bite you
Hello Corey,
CM PC-specific isn't terribly difficult, but is a pain in the butt when you
CM want to upgrade your machine and end up with a whole bunch of things
CM that don't work anymore.
One method is to check that at least some of the items are correct eg allowing a
change of MOB and CPU, but
Oh, another key method is if you are supporting your product, you keep changing the
Version on each change, which relates to your Key, tied in with HDserialnumber
and an entry datetime limit, the encryption can be 'fairly' strong, and makes
the hackers job a repetitive one.
Al+
When I close my app it comes up with the following:
'External exception C008'
Then:
'Runtime error 216 at 31F8'
I've got debugging turned on, map file etc.
Read somewhere I can key in the above to find where the error occurred but cant
recall where it was.
Would it be possible the the IDE
Good morning.
Got a problem been bugging my program for ages. It raises its ugly head
sometimes when in the FormCloseQuery event, and is one specific item.
Here goes (shortened for brevity)
DirMonitor1: TDirMonitor;
DirMonList: Tcomponentlist;
procedure
Hello Phil,
PM list. Either way - it's all in the helpfile... you know, the one that came
PM with Delphi ;-)
Yes, I did peruse that before asking. My understanding was that if you create an
object, you must free it, which is what I was doing.
However, this rule of thumb obviously does not always
Hi all.
I since I dont have a touchpad here I was wondering if the following code would
work. I am trying to remove the noise from the pad.
(I am not sure what the processing of the variable debounce is on re-entry)
procedure TMainform.BitbtnClick(Sender: TObject);
const debounce:integer=0;
Label
Hi all.
hope everyone is well!
Info please. I want to clear an array, but still have it available for later
use.
EG:
type PVtreeSearchList = ^TVtreeSearchList;
TVtreeSearchList = record
Filename, ZipName, PathName, Ftype, Fsize, DTime: string;
Index: Cardinal;
end;
var
Hi all.
I want to include a CONST param in a RECORD. There is no mention of this in
help. Do I have to declare a new TYPE and include that?
Thanks,
Alistair+
---
New Zealand Delphi Users group - Delphi List - [EMAIL
Hi all.
this is a tad offtopic, but useful if someone knows the answer.
I made up a wee unit yesterday as follows:
procedure TMainform.ZIPmodeClick(Sender: TObject);
var
fp: file of Byte;
no: longint;
filename: string;
begin
for no := 1 to 65535 do
begin
filename := 'h:\Test' +
Hi All,
There seemed to be no solution to the problem until I got into the
mainform.Onhelp event, which showed that DATA was invalid. After that traced it
to the F1 key activating help on a non-focused item (could be anything in the
desktop). So the answer is to ensure that
Hi all this is driving me nuts:
If the application knows what the helpfile is the API call which is automatic
when F1 is pressed cant find: 'The topic does not exist...
OK, so I dont tell it what the helpfile is and get the F1 key in formkey down:
procedure TMainform.FormKeyDown(Sender:
Hi all why does not the checkboxes show when enabled in this demo?
It is vsreport so should show surely?
Thanks,
Alistair+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website:
Hi all,
Xtra is pathetic! It took 1 1/2 days for this message to be promulgated. I am
sure they are heading for another crash as this always seems to happen before
their network fails.
I can answer the below question now:
You need to do it manually. Assign an imagelist to the listview's
Hi all.
In the following:
const _MSG_Cancel = WM_USER + 6;
procedure CancelBtnClk;
begin
if MsgReceiver 100 then
postmessage( MsgReceiver, _MSG_Cancel, 0, 0);
end;
function StatusBoxEX( BoxMsg, BoxCaption, Sound : String;
MsgPic : TPicture; Boxposition : Tposition; StayOnTop : Boolean;
Wow; this message took several days to filter through!
In the meantime what transpired I found that during the statusbox display, I
used a 'yieldprocess' which was meant to be similar to processmessages, but it
was not, so the message could not get through.
Cheers,
Alistair+
AG MsgReceiver I
Hi all.
I have a scheduled backup operating in my software. What I want it to be able to
do is prior to starting the schedulled backup, check that the computer is not
already too busy doing a CD write or similar operation. If so, the backup will
be delayed until there is virtually no CPU loading.
Hello Todd,
Is that a WinAPI call? The scheduler is part of my program - it is not windows
scheduler.,
Al+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website:
Hi all.
I made some code (below) and it worked fine here but user reported the
following:
If I click on any option in the Other Functions zone (main screen), there are a lot
of display
problems. These problems can vary from one time to the other.
example 1 : I click on any option in Other
Aghhh the previous code works fine if the caption is clicked - it changes the
state, but if the checkbox itself is clicked, it changes state, then due to the
onclick event, it is changed back!
Al+
---
New Zealand Delphi
Hello Pedrocelli,
P Define a boolean form variable (FCheckBoxBusy or whatever), set it to false in
P the FormCreate. At the start of the previous code mentioned, set the boolean
P to true and back to false at the end. In the OnClick event, check the boolean
P and if true just exit - so the code
Hello Neven,
NM I can exchange the TButton for a TSpeedButton and they work!
You are better at this than I but would not the clue be in the above one being a
Tgraphic and the other being a Twincontrol (or something like that)
NM Second question in order to locate my panel where the popup menu item
Hi All.
A less elegant solution, but one which works is to make the filter as follows:
AG Filter := 'Zip (SFX) or Spanned Files|disk#*.*;*.z*;*.EXE;
--
Regards,
Alistair+
---
New Zealand Delphi Users group - Delphi
Hi all.
I want to put a file with no extension in a destination directory which gives
the disk number eg disk3
Anyone know what I would add to the file filter below to show the above file?
Filter := 'Zip (SFX) or Spanned Files|*.z*;*.EXE;
*.; does not work. Dont want *.* as it will show all
Hello Chris,
Use memo1.selstart
--
Regards,
Alistair+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
Does anyone know the recommended maximum size for CDRW and CDR disks?
I have CDRW: 540Mb CDR: 650Mb.
I know it varies from manufacturer of disks, but a safe size as specified without
overburn is what I am after. (have searched, but cant find)
Tks,
Al+
Hi all this is what I have to tell my users:
Program seems to hang between CD/CDRW disks (WindowsXP only) press keys Alt-Tab
till you view the 'Insert Next Disk' messagebox, and continue. This is a known
Microsoft XP bug.
Anyone know a workaround - I have tried several forms of messagebox
Hello Ross,
RL 700MB CDR's are usually cheaper to get these days. My Verbatim ones can
RL store 702MB or 736,966,656 bytes. To be on the safe side, I would limit
RL it to 700MB (734,003,200 bytes).
Yes, thanks - are not those CD's overburn items, or will they burn to that as a
normal burn?
Also,
Hello J,
I do an encapsulation of showmodal now which works more reliably, but
still has the odd hiccup.
The main thing is why dont MS fix it - it is a well documented bug.
Cheers,
Al+
---
New Zealand Delphi Users group
Hi all.
I want to send bug reports from my app, which includes the users system details.
Can anyone advise:
a) how I can complete the following to include contents eg
Report?Contents+contentsString',nil.
b) what to use to provide contents info of users system (pref freeware)
Thanks!
if
Hi again. Have found the following works for body:
'Body=' + 'System Information:'+#13;
But if it is as above everything after 'System' is cut off. It only works with
strings such as 'System_Information:'
Any advice on the API requirements for string passing?
Al+
Hello Chris,
I want the system information, not the bug.
Thanks.
Al+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL
I tried the following:
for i:=0 to Length(mailstring) do
if mailstring[i]=' ' then mailstring[i]:=#20;
But as you see the subject has 'funnies' in it where the spaces are, and the
text gets converted as follows:
SystemInformation:
Hello Stephen,
Scuse ma ignorance but:
stringreplace(mailstring,' ',#20,[rfReplaceAll]);
is ok
but
stringreplace(mailstring,' ',$20,[rfReplaceAll]);
or
stringreplace(mailstring,' ',%20,[rfReplaceAll]);
Aint.
So howto?
thanks,
Al+
Hello Jeremy/Connor,
Ha, I had already done that but was not going to say something that did not work
again.
So - '%20' does not work - it reverts as a space (I think) to the WinAPI call.
Al+
PS coffee is always humbly accepted by this writer
PPS the server for some reason bouces my mails and
This does it:
NewString:='';
For i:=1 to length(mailstring) do
if mailstring[i]=' ' then NewString:=NewString+'%20' else
NewString:=Newstring+Mailstring[i];
//use the old bugger
Mailstring:=NewString;
ShellExecute(Application.Handle, nil,pchar(Mailstring),nil,nil, SW_SHOWNOACTIVATE);
Hello Stephen,
Sorry, deleted it, but no worries I get plenty of them so will forward.
In the meantime, I'm gonna have a beer by myself ...
.
.
Hello Jeremy,
Thanks, some of the system information below does not come through due to
parsing so URLEncode would probably sort it tksvm.
Here is what is 'almost done' if anyone want to use it:
procedure TMainform.BugReport1Click(Sender: TObject);
var
RegIni : TRegIniFile;
SI :
Hello Stephen,
Thanks! that is what I am after but when I do below:
WS a href='version.txt'Version information/a
I only get a link displayed as 'Version Information' pointing to 'version.txt'
But.. the frame below works but is has a huge frame even if I try to tailor it
the text seems to have
You can display a graphics file easily enough in html on a web page, but how do
you display a textfile on a web page?
I want to display each new version and date of my software which is in a textfile
on a web site (version.txt). Myprogram links to it for update information, so it
makes sense to
Behalf Of Alistair George
JJS Sent: Thursday, 24 July 2003 8:03 a.m.
JJS To: Multiple recipients of list delphi
JJS Subject: [DUG]: Textfile display on web page
JJS You can display a graphics file easily enough in html on a web page, but
JJS how do
JJS you display a textfile on a web page?
JJS I want
Hi all. MyApp calls a web address and parses for a textfile which has the latest
version of MyApp.
Does anyone know how to get the text contents and filedatetime of the file eg
versionxp.txt and
display that on the web page??
Thanks,
Al+
Hello Nicholas,
I agree - my preference has always been for INIfile. BUT when you do software
protection, usually the only way to do it is to hide it in the registry which
sort of defeats the purpose a bit.
My pennyworth.
NS The registry never REPLACED TInifile, although the documentation seems
Hi all.
Is there a way to cast a string to a single item stringlist eg
function BurnFiles(Fileslist: tstringlist): boolean;
var Newfile:string;
if Burnfiles(Newfile ?? as Tstringlist.text) then success:=true;
---
Hello Dennis,
Thanks for reply mate - suspected so, but if possible was interested in how.
DC No, you cannot do it with a simple cast.
--
Regards,
Alistair+
---
New Zealand Delphi Users group - Delphi List - [EMAIL
Hi All.
Am just finishing off some CD-burn stuff for my backup software.
Only to find that the zipfiles are not being recognised by WinXP as follows:
The disk is burnt OK, but when inserting it into CD for reading, it keeps same
filename,unless I replace with a different disk
Hi anyone know how to force a messagebox to the front in WindowsXP?
Thanks,
Al+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email
Hello Chris,
No mistake, Try to open a unformatted disk in your CDROM and you will get the
error I earlier described. There was meant to be able to be overcome by
SetErrorMode but wouldnchaknowit - WinXP does not seem to want to know about
that one so I have rolled my own. What I did to parse the
Hi all anyone know how to temporarily disable (programatically) the delayed write in
XP?
Thanks,
Al+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website:
://www.wown.com/j_helmig/lostdely.htm
CR On Thu, 3 Jul 2003 13:22:37 +1200, Alistair George [EMAIL PROTECTED]
CR wrote:
Hi all anyone know how to temporarily disable (programatically) the
delayed write in XP?
Thanks,
Al
My earlier query regarding SetErrorMode could not be resolved, so I am rolling
my own SaveDialog. In it is a maskedit. Cant recall all the parameters for a
filestring so can anyone if they have it give me the mask details for a
correctly formatted filename. (Or any other hints or alternative
Hi all.
I want to be able to stop the 'D:\ is not accessible' when accessing a disk with CDR
unformatted etc (am burning this disk).
But the following does not work in WinXP any ideas? Thanks, Al+
OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
Try
{$I-} OK:=
Hello Dennis,
Thanks a lot! Sorry for the trouble a fair bit of typing there.
DC Unfortunately Delphi does not have a popen in the VCL, but you can achieve
DC the same using a few lines of code that makes WinAPI calls. The following
Just a few!
--
Regards,
Alistair+
Hi all.
Can anyone translate this to pascal for me?
FILE *fp
fp=popen (cdrecord -atip, r)
fread (fp) //gets the output
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website:
Hi all.
Thanks for enlightening me on use of const.
But.if a const is initialised like so:
const FirstDir: string = '';
Say another const is initialised eg NextConst then FirstDir:='I am now a rather large
string, whereas before i was length 0';
There is no possibility of collision with
In the past I have used const in a proc or func to allow re-entering the routine
later to use the same variable value. But reading the following help it seems I
am doing the wrong thing. Should I be using a global variable instead?
QUOTE
A constant (const) parameter is like a local constant
Hi All.
FYI had been having some problems with starting a program and minimizing the
form to tray prior to the show event. This can cause major problems when some
code tries to call the window handle. The easy resolution is to show the form
first the quickly hide it.
In the past I thought that
Hi again.
Have a problem backing up to removable hard disks with my program as the test
below does not work with HD removable:
function TMainform.IsRemovable: Boolean;
var drvtype: word;
begin
drvtype := GetDriveType(pchar(ExtractFileDrive(VCLzip1.ZipName)));
if (drvtype = DRIVE_REMOVABLE) or
Hello Nicholas,
I figure my new code below might be suitable. General opinion on safety of
forcing the labeling (is there likely to be issue with Win95) please?
NS You can set the volume label of non-removable drives just fine with this
NS code too, can't you?
That is what I suspected, WinXP
Hello John,
Not something to do with Outlook/Express wanting to dial up on start? If so,
just uncheck that option within the program (it can change by itself I believe).
Otherwise you might need to check what is actually running, and asking for DUN
then run that - might be spyware or similar.
Al+
Solved but seems a bit odd having to do this:
If not Timer1.Enabled then exit;
Timer1.Enabled:=false;
Timer1.Interval:=5000;
Timer1.Enabled:=true;
---
New Zealand Delphi Users group - Delphi List - [EMAIL
Hi all. I thought ( the help seems to indicate) that
Timer1.enabled:=true; //Default time is 5000
Desired scenario. timer completes timeout for 5 seconds if nothing happens.
But if something happens then timer interval is reset to 5000
timer1.interval:=5000;
and the count restarts
But it does
Hello Jeremy,
JN Where were you trying to assign the OnIdle event in main form originally?
JN FormCreate?
Yes.
Unfortunately I still cannot get the thing to compile I think I did what you
suggest here in DPR:
program back4winXP;
uses
Forms,
dialogs,
mainunit in 'mainunit.pas' {Mainform},
Hello James,
JS Application.OnIdle := lIdleHandler.IdleHandler
JS instead of
JS Application.OnIdle := lIdleHandler
Great
JS Just as an aside, the other day someone had a query and you suggested that
JS they look at the help. Might I suggest that you take your own advice and get
JS a good Delphi
Hi all.
The components list is a wee beauty. It really makes the job a lot easier to
control. Also the system is running very smoothly now. The job was to monitor a
bunch of directories (not just a directory monitor with subfolders selected).
Hence I needed various copies of the folder
Hi all. Found main problem with handler - the mainform is minimized to tray and
in that state the handler does not work!
Cheers,
Al+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Next Q how to put an idler handler in the application that works when the
mainform is not visible. Can it be put in the DPR file, and if so how please?
Thanks,
Al+
---
New Zealand Delphi Users group - Delphi List - [EMAIL
I have found the reason the onidle does not work is because when the idle test
is needed, the mainform is hidden (in the system tray). When the mainform is
hidden, Onidle does not work - it never gets activated until the mouse is over
the tray icon OR the mainform is visible. You can test this for
Hi can anyone tell me how to do this correctly:
//External procedure:
if (index = 1) then WriteSettings(Sender, '');
Writesettings:
if sender = TChecklistBox(CheckListBox12).index
//(want to check the index of the sender in above)
Cheers,
Al+
Hello Conor,
CB However if you really must use it, you could put a call to Sleep(some small
CB number of milliseconds like 10 or 50) in your loop which will give some time
CB back to the OS, and stop your app hogging it.
I had actually done the sleep call later ;-) and it certainly made a diff to
Hello Corey,
CM According to my documentation (BCB4, YMMV), OnIdle is an event of
CM TApplication. In theory you can assign a handler to it from anywhere.
Yes, but if I assign application.onidle:= MyIdleProc;
In the mainform, surely that is the same as assigning it anywhere else? or not?
Anyway,
Hello Kyley,
Thanks, but still not compiling:
program back4winXP;
uses
Forms,
dialogs,
mainunit in 'mainunit.pas' {Mainform},
b4winabt in 'b4winabt.pas' {b4winForm},
regunit in 'regunit.pas' {RegForm},
Password in 'password.pas' {PasswordDlg},
mb in 'mb.pas',
SortGrid in
Wow, thanks all for that fine bunch of info. After scanning the internet the
info on this subject is not great, so the groups knowledge here has been of very
high standard!
Any chance of an example of the correct way to use the Tcomponentlist?
What I have done is:
declare:
var
Agreed. I use INI also, it has an added benefit to those that understand the INI
files are easily viewed, changed and they dont leave that feeling of 'whats
going on in my registry' that registry files have.
Friday, March 28, 2003, 9:16:21 PM, you wrote:
RG We have always used ini files - more
Hello Kyley,
Xtra problems I am sure. Email delivery here is very poor at the moment too.
Xtra increased their prices with auspices of providing better network bandwidth,
but don't do anything. Eventually the bandwidth gets clogged up, going, going,
gone and THEN they do something.
At least they
Hi all.
What routine can I use to copy a file, rename a file etc retain the old DOS
8.3 naming convention?
Thanks,
Al+
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website:
My earlier - Andreas replied to it some time back I just realised.
Must be Friday!
AT User Hives
AT --
AT NT/Windows 2000/XP: %USERPROFILE%\ntuser.dat
AT Windows 9x: %SYSTEMROOT%\user.dat
AT Non-user Hives
AT --
AT NT/Windows 2000/XP: SYSTEMROOT%\System32\Config (directory of
Hello Andreas,
AT versions. A much safer alternative would be to export the registry and
AT import it. You could do it all via API calls.
Any ideas on how to do this?
Nothing obvious in Windows API - not even reference to NTUSER.dat:
RegCloseKey
RegConnectRegistry
RegCreateKey
RegCreateKeyEx
Hi all.
I get this from time to time when adding a new component. I realise that the DCR
must be in uppercase and same name with a 'T' prepend. But can anyone advise
what other things to look for when a component wont add to the menu bar?
It shows up as in the packages, but when you click on
Hi all.
Can anyone please point me to the WinNT WinXP registry filenames.
I need to be able to back them up and restore them.
Thanks very much.
Alistair+
---
New Zealand Delphi Users group - Delphi List - [EMAIL
Hi All.
I have a JPEG image, which if I convert to bitmap, then back to JPEG again, it
is not the same. The problem occurs in the stretchdraw function.
Can anyone advise how I can replicate exactly the JPEG original without copying
the JPEG original to another JPEG?
What happens is most graphics
Hi all.
In sound schemes under XP seems system beep is not one of the available sounds.
I use 'beep' quite a lot in my programming. Anyone know where I can make this
sound work (not a programming issue, an O/S one).
Thanks,
Alistair+
Hello Craig,
Just a shot in the dark, but maybe you are using NT/XP?
My earlier posts refer and it might pay to fiddle with the mainform as observed
under tray icon:
ShowWindow(Application.Handle, SW_HIDE);
to show the window:
ShowWindow(Application.Handle, SW_RESTORE);
If that does not sort the
Hi All. The answer lay in the soil..Delphi 5/4 problems.
Thanks to Paul Lowman for sending me a component which raised the error problem
which is to hide the window under D4/D5:
ShowWindow(Application.Handle, SW_HIDE);
to show the window:
ShowWindow(Application.Handle, SW_RESTORE);
It was not
Hi All.
The following:
if (DateSwitch) and not (RxCheckListBox6.Checked[2]) then
CheckFileExist(VCLzip1.zipname);
is not parsed correctly unless it is:
if (DateSwitch) and (not RxCheckListBox6.Checked[2]) then
CheckFileExist(VCLzip1.zipname);
So does this mean that any boolean thusly declared:
Hello Neven,
NM As far as I can see the two expressions are the same, in fact the brackets
NM in this case are redundant
Yes, you and I would think so, but without the surrounding brackets it is not correct.
Dateswitch is boolean.
To play it safe would be advisable to use surrounding brackets in
Hello Matthew,
It is not running in the tray is it?
Here is some code I needed to use to shut my app down:
procedure TMainform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if VCLzip1.Busy then //use this area to cancel a close
begin
if msgbox('CANCEL ZIP in progress? (OK
Hello Conor,
Cheers, this is much better way to do it:
FreeandNil(dmon.Form1);
Thanks for the explicit instructions on avoiding the try except under all
circumstances - I am too lazy sometimes now I stand corrected.
Al+
Hi all.
Having some minimize problems. When I minize to tray 1st time is OK, no sign
left on task bar of application. Then I restore from tray and then second time
minize to tray an icon is left on the task bar (undesirable).
Any thoughts?
procedure TMainform.MinimizeToTray(sender: TObject);
Hi all. I can use a boolean variable, instead to signal the paramstr has been
used is now invalid but as a matter of interest, does anyone know how to clear
the paramstr list (command line) after it has been used?
BTW the earlier query of problem with shutting down an errant program of mine by
Hello Phil et all, I had checked the help and set Cmdline:=nil but what you ( I
thought) does not apply as the paramstr(1) still returns. Cmdline is merely the
pointer to, not the variable, so I assume you clear the Cmdline, but by calling
the paramstr variable you are still calling a relevant
Hi all.
I have been having quite a battle with closing forms lately as you have seen.
If anyone falls into the same trap in future, the key is whether the form is
visible or not.
Here is an example I have just sorted the line is between the **
if (lowercase(paramstr(2)) 'close')
;
LW procedure TFormMain.WMQueryEndSession(var Message: TMessage);
LW begin
LW Message.Result := 1;
LW end;
LW Cheers
LW Leigh
LW -Original Message-
LW From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
LW Behalf Of Alistair George
LW Sent: Tuesday, March 04, 2003 5:22 PM
LW To: Multiple
Hello Leigh,
OK, I got it modal and main closure sussed now except for the fact that it
closes the main program, but the following windows shutdown sequence stops
there. Any ideas?
Thanks,
Al+
---
New Zealand
1 - 100 of 392 matches
Mail list logo