Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB SQL » View Thread |
Messages 11 to 17 of 17 total |
Error #600 when creating temporary file |
Fri, Mar 3 2017 10:21 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Burkhard
Extending a bit on Matthew's post. Without seeing your inno setup routine and all forms / units used in that I can't comment specifically. I also do not have a full source code version of ElavateDB so can't trace things back totally. However, from my knowledge of Delphi what I can say is that you haven't taken into account how properties are streamed. I think it goes roughly: 1. create a "bare bones" object 2. add the other properties etc in 3. run the constructor and follow whatever it tells you to do 4. (this is the important bit) stream in the property values held in the dfm ie user set values will be streamed in after the engine has been initialised - between initialisation and streaming in the user (ie programmer) defined values it will have the right value. So somewhere, somehow, the value of TempTablesPath has been set. when the setup is run it uses this and this is what is causing the problem. However, this <<It's a small tool that is called by my Inno-Setup script and that does some DB related things after installation of my main application. SessionType is stLocal an I use the default EDBEngine, no TEDBEngine component.>> is a problem. If you have no specific engine component in the tool it won't be in the dfm and won't be stored and won't be streamed. Do you have a session component in the tool or are you using the default session? Roy Lambert |
Mon, Mar 6 2017 4:51 AM | Permanent Link |
Burkhard Schneider isyControl Software | Once again, extending on my original post:
- I use the default EDBEngine and the default EDBSession, so nothing is stored in the dfm. Everything I need with theese two components is set by code or left as default. - Engine.TempTablesPath is initialized using the Windows function GetTempPathA - On the users machine EDB used C:\Users\ADMINI~1\AppData\Local\Temp\2\ as TempTablesPath - This Path didn't exist. Probably it should be C:\Users\ADMINI~1\AppData\Local\Temp\ (without the 2 ) - With all other users, everything works fine. After googling a bit I found that it has something to do with this: http://stackoverflow.com/questions/6521277/why-does-temp-resolve-to-a-non-deterministic-path-of-the-form-temp-digit So it sems that there is the possibility that GetTempPathA returns a non existing path. I'll probably add something like that to my code: ForceDirectories(Engine.TempTablesPath); Or couldn't EDB check the existance of Engine.TempTablesPath before using it? |
Mon, Mar 6 2017 5:29 AM | Permanent Link |
Matthew Jones | Burkhard Schneider wrote:
> I'll probably add something like that to my code: > > ForceDirectories(Engine.TempTablesPath); That is what I do. Except that I put my temp files in a known location so I don't get all mixed into the morass of other garbage that collects in the Temp directory. > Or couldn't EDB check the existance of Engine.TempTablesPath before using it? It's perhaps an interesting philosophical question. I think overall it should not. You want to know that the temporary files are going where you think they should. If you specify F:\DevTemp and it goes ahead and creates that on every system your application runs on, that might be awkward. Better to get an error and say it doesn't exist. You might argue that it should complain when you set the property, but why should the order of creation be enforced. Set the location, create it, what's the problem so long as you do it before it is used. Heck, you might set it three times before you settle. So that's why I come down on it not doing it for you. -- Matthew Jones |
Mon, Mar 6 2017 5:54 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Burkhard
I have to say WOW to that. Roy Lambert |
Mon, Mar 6 2017 2:57 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Roy,
<< giggle> DBISAMEngine in an ElevateDB discussion </giggle> >> You have no idea...things are *crazy* around here lately. I spent all weekend getting our mail servers moved over from Google to Office365 along with putting in a new development machine for myself, so that didn't help... But, better to be busy than not... Tim Young Elevate Software www.elevatesoft.com |
Tue, Mar 7 2017 2:37 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Tim
>You have no idea...things are *crazy* around here lately. I spent all weekend getting our mail servers moved over from Google to Office365 along with putting in a new development machine for myself, so that didn't help... I sort of remember you posting a picture of your office a while back - you seemed to have enough machines back then - you're just greedy >But, better to be busy than not... Especially if its making money! Roy |
Wed, Mar 8 2017 3:05 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Roy,
<< I sort of remember you posting a picture of your office a while back - you seemed to have enough machines back then - you're just greedy >> We have 3 PCs, not including the server (or various tablets/phones for testing). My last machine was purchased in late 2009, so I was due. << Especially if its making money! >> We're hanging in there, much like bacteria that has evolved to survive the next round of antibiotics. Tim Young Elevate Software www.elevatesoft.com |
« Previous Page | Page 2 of 2 | |
Jump to Page: 1 2 |
This web page was last updated on Wednesday, May 15, 2024 at 08:40 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |