Solved

Error Creating Form

Posted on 1997-07-29
4
969 Views
Last Modified: 2012-08-14
I have just had to re-install windows and delphi after my system files became corrupted and now one of my forms in my delphi 2.01
project will not open.

I get the message cannot open form - unspecified error

I have reinstalled all the components for the form but I still cannot load it up. When the program runns it works ok until I get an interaction between the ChartFX and a VCFormula 1 table at which point I get an  Exception - EAccessViolation

Anybody have a solution?
0
Comment
Question by:essbb
  • 2
  • 2
4 Comments
 
LVL 4

Accepted Solution

by:
StevenB earned 50 total points
ID: 1340160
 Beware the Formula1 component, all is not as it seems. This component forms the backbone of our project, a decision we made some time ago, but are now starting to regret. The component behaves in a strange manner when run through Delphi. The most significant problem being that it generates access violations when its maximum values are exceded. (The maximum value is about 9.9e301 as I recall, it's in the help file under specifications). It does much the same when a single value greater than about 1e19 is entered into a formula.
  This is not the behaviour which I expected from a component that I'd payed a significant amount of money for, so I contacted the manufacturers. They told me that, in essence, their component did not specifically support Delphi (The decision to ship the trial version with D2 and 3 was made by Borland, who own the rights to the trial version) They said that the component works perfectly under VisualBasic (I checked, it seems to) and that it fullfilled all the criteria specified by Microsoft for the ActiveX specifications. They put the blame with Borland and suggested that the Delphi support for ActiveX controls was not quite 100%. (There was some explanation given here involving Windows DLLs and changing Microsoft standards, but it got a bit beyond my knowledge of the underlying windows structure). I phoned Borland and put these accusations to them. They were less than direct in their answers, refusing to confess guilt directly, however they did hint that the fault might be theirs. There was also some vague suggestion that an upgrade for D3 in early August might resolve some of these problems.
  That is the story so far as far as I can ascertain. The question of where it leaves you still remains. From what you've described it sound to me like you are exceding the maximum values in the F1Book and causing the Access violation. Check if this is the case, and if so try and put in some error trapping to prevent it happening. I know this is very difficult and we havn't managed to implement it in our project. If this is not what is occuring then feel free to reject the answer, but please heed my warning and tread very carefully with Formula1. It can cause huge problems if you let it.

  Steven.

  P.S. If you discover any more Bugs etc. with F1 and Delphi then I'd be most grateful if you could let me know. You're the only other person I've found who uses the component.

  stemail@dial.pipex.com
0
 

Author Comment

by:essbb
ID: 1340161
Steven,

Our project only uses Formula 1 in a small way the table size is about 6 x 20 cells and the values rarely exceed 100. The point at which the program crashes is when I set the chartfx.maxserie to formula1.maxcol.

My Main Problem is that I Cannot display the form in design mode, this is when I get the error.
0
 

Author Comment

by:essbb
ID: 1340162
If you delete all refernces to the table (from both the .pas & .dfm) and then add a new one it works!
0
 
LVL 4

Expert Comment

by:StevenB
ID: 1340163
F1UPDATE F1UPDATE F1UPDATE F1UPDATE F1UPDATE F1UPDATE F1UPDATE

  Recently discovered bug (Fortunately with very easy work around)

  Never do this : EntryRC := '';

  The empty string siezes the machine. Always check for empty strings.

  Steven.
0

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question