RE: [DUG]: GUIDs for Session Ids?
simplest way is: SID := random(high(Integer)); which allows for 2 billion (4 if you use a cardinal). Maybe try int64 if you really need that many. Depends on your purposes, but for short term ID's I find 2 billion more than enough. regards, Steve -Original Message- From: Myles Penlington [mailto:[EMAIL PROTECTED]] Sent: Monday, 12 November 2001 5:48 p.m. To: Multiple recipients of list delphi Subject: RE: [DUG]: GUIDs for Session Ids? Need to be careful with guids, as in somecases they are sequential in nature - depends on implementation, service pack etc. I know they have changed in more recent times to be less sequential in nature - was viewed as a security hole for some reason by MS. Depends on your security requirements. We use a 128bit hashed value, based on various things. Myles. -Original Message- From: Vaughan, Benjamin Carl [mailto:[EMAIL PROTECTED]] Sent: Monday, 12 November 2001 3:41 p.m. To: Multiple recipients of list delphi Subject: RE: [DUG]: GUIDs for Session Ids? Hi, My first question is, is this a good idea (using a GUID as a session Id) We use GUID's as session Id's for our website, and currently have had no problems using these as Session IDs. (the website goes through approx 4400 sessions per day) My second question is, if it is an alright idea, what is the easiest way to get hold of a GUID (at run time), do I need to link in all the COM stuff and use and use the CreateClassID function (I don't think any COM stuff is linked in at the moment and as it is a web app I thought I would try and keep it small, and maybe even venture into Kylix in the future???). As for GUID creation we use the WinAPI function CoCreateGUID to create the GUID's at runtime. We then store these on our SQLServer database for retrieval at a later time. Hope that helps. Ben Vaughan Developer www.cecil.edu --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
Re: [DUG]: offtopic: Reflex
An older DOS based product that has been passed over in recent times. I have used it in the past and yes, you can export data as a comma delimited text file for importing into Excel. I did a file very recently. From memory, go to the file menu, then export, select export as text then set delimiter to comma. Best regards, Mark Empson. - Original Message - From: Patrick Dunford To: Multiple recipients of list delphi Sent: Friday, November 09, 2001 11:17 PM Subject: [DUG]: offtopic: Reflex Had someone ask me a question about this product, specifically the exporting of data to other databases or Excel. anyone know? = Patrick Dunford, Christchurch, NZ http://pdunford.godzone.net.nz/ http://www.trainweb.org/ferrymead/
RE: [DUG]: GUIDs for Session Ids?
Need to be careful with guids, as in somecases they are sequential in nature - depends on implementation, service pack etc. I know they have changed in more recent times to be less sequential in nature - was viewed as a security hole for some reason by MS. Depends on your security requirements. We use a 128bit hashed value, based on various things. Myles. -Original Message- From: Vaughan, Benjamin Carl [mailto:[EMAIL PROTECTED]] Sent: Monday, 12 November 2001 3:41 p.m. To: Multiple recipients of list delphi Subject: RE: [DUG]: GUIDs for Session Ids? Hi, My first question is, is this a good idea (using a GUID as a session Id) We use GUID's as session Id's for our website, and currently have had no problems using these as Session IDs. (the website goes through approx 4400 sessions per day) My second question is, if it is an alright idea, what is the easiest way to get hold of a GUID (at run time), do I need to link in all the COM stuff and use and use the CreateClassID function (I don't think any COM stuff is linked in at the moment and as it is a web app I thought I would try and keep it small, and maybe even venture into Kylix in the future???). As for GUID creation we use the WinAPI function CoCreateGUID to create the GUID's at runtime. We then store these on our SQLServer database for retrieval at a later time. Hope that helps. Ben Vaughan Developer www.cecil.edu --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
[DUG]: Const
Hi all, Can anybody tell me the difference between the following two declarations and why you want to use the first one. The second one seems to use less memory! const sName : string = 'This is a test'; and const sName = 'This is a test'; TIA John. --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
[DUG]: Actions, shortcuts and some keyboards misbehave
We have an action list with shortcuts assigned to some of the actions. It appears that on some newer keyboards, when two shortcut keys are pressed simulteneously, both actions get triggered. When the first action comes to play, it does some comms and often waits in a loop with Application.ProcessMessages calls in it. This allows second action to go ahead whilst first action has not finished yet . This happens only on some type of keyboards. The one I have is HP - SK 2502C. Has anyone seen anything like this ? Any advice ? Thanks. --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
RE: [DUG]: Const
Just a guess, but the second one probably uses shortstring, rather than string. Stacey -Original Message- From: John Christenhusz [mailto:[EMAIL PROTECTED]] Sent: Monday, 12 November 2001 12:30 p.m. To: Multiple recipients of list delphi Subject: [DUG]: Const Hi all, Can anybody tell me the difference between the following two declarations and why you want to use the first one. The second one seems to use less memory! const sName : string = 'This is a test'; and const sName = 'This is a test'; TIA John. -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
Re: [DUG]: Const
and I think you can do sName := 'something else' in the first case and not the second. If it was this: Const a = 1; Const b : integer = 2; then a would only be a byte, where as b would be an int N - Original Message - From: Stacey Verner [EMAIL PROTECTED] To: Multiple recipients of list delphi [EMAIL PROTECTED] Sent: Monday, November 12, 2001 12:32 PM Subject: RE: [DUG]: Const Just a guess, but the second one probably uses shortstring, rather than string. Stacey -Original Message- From: John Christenhusz [mailto:[EMAIL PROTECTED]] Sent: Monday, 12 November 2001 12:30 p.m. To: Multiple recipients of list delphi Subject: [DUG]: Const Hi all, Can anybody tell me the difference between the following two declarations and why you want to use the first one. The second one seems to use less memory! const sName : string = 'This is a test'; and const sName = 'This is a test'; TIA John. -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
Re: [DUG]: Const
The first declaration const sName : string = 'This is a test'; Declares a typed constant, which is really an initialized variable when compiled in the default state {$J+}. If you declare {$J-}, typed constants behave like true constants, except that you can give them values of records, arrays and pointers. Don't know if it's the same with Delphi, but in BP I think typed constants existed in the data segment. Bob - Original Message - From: John Christenhusz [EMAIL PROTECTED] To: Multiple recipients of list delphi [EMAIL PROTECTED] Sent: Monday, November 12, 2001 12:29 PM Subject: [DUG]: Const Hi all, Can anybody tell me the difference between the following two declarations and why you want to use the first one. The second one seems to use less memory! const sName : string = 'This is a test'; and const sName = 'This is a test'; TIA John. -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
RE: [DUG]: Const
John, The first form is a typed constant. Delphi allocates a string variable and assigns it the value 'This is a test'. Depending on your compiler options (Assignable typed constants), Delphi may or may not allow this variable to be assigned. When you assign this to another variable, it is done at run time. The second form is a simple constant, and is resolved at compile time. It cannot be assigned to. example: program Test; {$APPTYPE CONSOLE} {$J+} const A: string = 'This is a test'; B = 'This is a test'; var s: string; begin s := A; WriteLn ('A = ', s); s := B; WriteLn ('B = ', s); A := 'New value'; s := A; WriteLn ('A = ', s); // B := 'New value'; will raise compiler error s := B; WriteLn ('B = ', s); end. Typed constants allow variables to be created with an initial value. Typed constants also allow for static variables inside functions and procedures. Example: procedure DoSomething; const FirstTime: Boolean = True; begin if FirstTime then begin FirstTime := False; // Perform initialisation end; // Perform main task end; Regards, Dennis. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 13 November 2001 01:30 To: Multiple recipients of list delphi Subject: [DUG]: Const Hi all, Can anybody tell me the difference between the following two declarations and why you want to use the first one. The second one seems to use less memory! const sName : string = 'This is a test'; and const sName = 'This is a test'; TIA John. -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
RE: [DUG]: Const
From the help file: Typed constants, unlike true constants, can hold values of array, record, procedural, and pointer types. In the default {$J+} compiler state, typed constants can have new values assigned to them; they behave essentially like initialized variables. But if the {$J} compiler directive is in effect, typed constants cannot change value at runtime; they are, in effect, read-only variables. = Patrick Dunford, Christchurch, NZ http://pdunford.godzone.net.nz/ http://www.trainweb.org/ferrymead/ -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of John Christenhusz Sent: Monday, 12 November 2001 12:30 To: Multiple recipients of list delphi Subject: [DUG]: Const Hi all, Can anybody tell me the difference between the following two declarations and why you want to use the first one. The second one seems to use less memory! const sName : string = 'This is a test'; and const sName = 'This is a test'; TIA John. -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
RE: [DUG]: Actions, shortcuts and some keyboards misbehave
Patrick Dunford commented: I have seen something odd on a Compaq keyboard where pressing Page Down or something would cause the Delphi editor to open a new editing window for the same unit. We assumed that the keyboard was sending extra keystrokes of a different character for some reason. A similar things was happening with the boss's el-cheapo keyboard, and when replaced with a real keyboard (IBM PS/2 keyboard circa 1983) the problem went away. From this I'm fairly sure that some of the cheap keyboards available have some very dubious components that cause spurious key presses to be generated. To check this out swap to a different brand of keyboward and see if the problem persists. That will provide a definitive diagnosis. Cheers, Max. --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
[DUG]: How to send HTML format email using Simple Mapi?
Title: How to send HTML format email using Simple Mapi? I have a component that sends messages using MapiSendMail but I can't figure out how to send a message in HTML format. Any ideas? Tom Munro Glass TMG Consultancy Ltd
[DUG]: More discoveries about actions
Trying to solve the problem I have described in my previous post I have put together a simple application. I am getting very surprising results, now on all keyboards. I am now puzzled about how actions and shortcust operate. I can send dfm,pas,dpr to anyone who wishes to try. Application has 2 actions with F7 and F8 shortcuts. When executed they do nothing but display time of last execution in a corresponding label (TLabel). When both F7 and F8 pressed _both_ actions appear to be processed ! But ! If I add say ShowMessage ('Action X was executed') then only _one_ action gets executed ! The difference is apparently in how much time is taken to execute an action. If it is very quick, then second action gets processed too. If it is not quick, i.e. some box is shown, second action does not get executed. It is like there is some kind of mess in the area where keys' ups and downs processed. Anyone knew about this ? Anyone wants to try ? I'll send the code. Regards Alex --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
[DUG]: SQL Error
Hi all. I am using an ADO stored proc. comp. and calling a standard stored proc that has an integer as the first param, and a string as the second param, and it returns an integer. I can all it ok if the values are zero and blank, BUT as soon as I use values I get : - Arguments of the wrong type, are out of acceptable, or inconflict with one another I then run the Stored proc with the same values in query Analyzer and it runs fine. I have also added Set no count into the stored proc. also, but I still get the error. I then tried executing the SQL statement in an ADOQuery comp. and got the same result. Can anyone help ? I am running D5 with the ado update and SP1 on SQL Server 2k. Thanks, Jeremy Coulter --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
RE: [DUG]: Actions, shortcuts and some keyboards misbehave
Yes it was D5 and NT4 Workstation (Christchurch Polytech Institute of Technology) = Patrick Dunford, Christchurch, NZ http://pdunford.godzone.net.nz/ http://www.trainweb.org/ferrymead/ -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Manning, John Sent: Monday, 12 November 2001 13:40 To: Multiple recipients of list delphi Subject: RE: [DUG]: Actions, shortcuts and some keyboards misbehave Hi Patrick, There is a fix (and an explanation) for this strange behaviour. I have the files locally but just found a reference to them on the web: http://www.elists.org/pipermail/delphi-talk/2000-March/003453.html HTH, John -Original Message- From: Patrick Dunford [mailto:[EMAIL PROTECTED]] Sent: Monday, 12 November 2001 11:23 am To: Multiple recipients of list delphi Subject: RE: [DUG]: Actions, shortcuts and some keyboards misbehave I have seen something odd on a Compaq keyboard where pressing Page Down or something would cause the Delphi editor to open a new editing window for the same unit. We assumed that the keyboard was sending extra keystrokes of a different character for some reason. -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
Re: [DUG]: More discoveries about actions
This is normal. If you hit both buttons together then you'll still generate two keypresses, one for each. The first one will execute the action, and the other will sit in the event queue until something asks for it. In the first case, where you're just setting the value of a label, the next check of the event queue will cause your other action to fire. In the second case the event queue will be polled by the message box, which will most likely discard the other keypress as being irrelevant. -- Corey Murtagh The Electric Monk Quidquid latine dictum sit, altum viditur. --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
Re: [DUG]: SQL Error
Further to the below, I also tried creating the ADODB object via COM and it worked fine, so its obv. an issue with the ADO components somewhere...GREAT. Thanks, Jeremy -Original Message- From: vss [EMAIL PROTECTED] To: Multiple recipients of list delphi [EMAIL PROTECTED] Date: Mon, 12 Nov 2001 13:54:46 +1300 Subject: [DUG]: SQL Error Hi all. I am using an ADO stored proc. comp. and calling a standard stored proc that has an integer as the first param, and a string as the second param, and it returns an integer. I can all it ok if the values are zero and blank, BUT as soon as I use values I get : - Arguments of the wrong type, are out of acceptable, or inconflict with one another I then run the Stored proc with the same values in query Analyzer and it runs fine. I have also added Set no count into the stored proc. also, but I still get the error. I then tried executing the SQL statement in an ADOQuery comp. and got the same result. Can anyone help ? I am running D5 with the ado update and SP1 on SQL Server 2k. Thanks, Jeremy Coulter --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
Re: [DUG]: SQL Error
Just verify that the DataType and Value.Type properties are set correctly. I have noticed that if you change a parameter value these properties previous values get deleted and revert back to ftUnknown and NULL. Other than that, I haven't experienced any issues with them. Have you tried setting the Parameter types at runtime before executing the procedure? JED Further to the below, I also tried creating the ADODB object via COM and it worked fine, so its obv. an issue with the ADO components somewhere...GREAT. ** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the [EMAIL PROTECTED] ** --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
[DUG]: GUIDs for Session Ids?
Hi, I am just thinking about using a GUID as a session Id for a web app... My first question is, is this a good idea (using a GUID as a session Id) ?? My second question is, if it is an alright idea, what is the easiest way to get hold of a GUID (at run time), do I need to link in all the COM stuff and use and use the CreateClassID function (I don't think any COM stuff is linked in at the moment and as it is a web app I thought I would try and keep it small, and maybe even venture into Kylix in the future???). Regards Colin ## Attention: The information in this email and in any attachments is confidential. If you are not the intended recipient then please do not distribute, copy or use this information. Please notify us immediately by return email and then delete the message from your computer. Any views or opinions presented are solely those of the author. ## --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
Re: [DUG]: More discoveries about actions
Well. If you think of it, it indeed appears to be normal. How else could it be in the event driven system. Thankyou everyone for your replies. Regards Alex - Original Message - From: Corey Murtagh [EMAIL PROTECTED] To: Multiple recipients of list delphi [EMAIL PROTECTED] Sent: Monday, November 12, 2001 12:28 PM Subject: Re: [DUG]: More discoveries about actions This is normal. If you hit both buttons together then you'll still generate two keypresses, one for each. The first one will execute the action, and the other will sit in the event queue until something asks for it. In the first case, where you're just setting the value of a label, the next check of the event queue will cause your other action to fire. In the second case the event queue will be polled by the message box, which will most likely discard the other keypress as being irrelevant. -- Corey Murtagh The Electric Monk Quidquid latine dictum sit, altum viditur. -- - 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
RE: [DUG]: GUIDs for Session Ids?
Hi, My first question is, is this a good idea (using a GUID as a session Id) We use GUID's as session Id's for our website, and currently have had no problems using these as Session IDs. (the website goes through approx 4400 sessions per day) My second question is, if it is an alright idea, what is the easiest way to get hold of a GUID (at run time), do I need to link in all the COM stuff and use and use the CreateClassID function (I don't think any COM stuff is linked in at the moment and as it is a web app I thought I would try and keep it small, and maybe even venture into Kylix in the future???). As for GUID creation we use the WinAPI function CoCreateGUID to create the GUID's at runtime. We then store these on our SQLServer database for retrieval at a later time. Hope that helps. Ben Vaughan Developer www.cecil.edu --- 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 Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/