Silverfrost Forums

Welcome to our forums

Within Plato3, is the number of source files limited?

11 May 2007 3:10 #1915

So I have begun to build, step by step, a library of 148 SUBROUTINEs and FUNCTIONs. I followed the policy to treat every item as a separate source file because there is a rumour in Fortran circles that when putting many items into a single source file and linking the resulting library into a project, the resultung .EXE file contains all of the items contained in the library, regardless whether they are called in the project or not, and that the resulting EXE's will be much larger than necessary.

When my library contained about 15 subprograms and I opened the Plato 3 project, I got the error message:

' Microsoft Visual C++ Runtime Library

Buffer overrun detected!

Program: C:\Program Files\Silverfrost\FTN95\Plato 3.exe

A buffer overran has been detected which has corrupted the program's internal state. The program cannot safely continue execution and must now be terminated.'

I searched with Google for 'Buffer overrun detected!' and found a German discussion group, where this problem was discussed (there the error occurred with other EXE's than Plato 3) and where the discussion focussed on virus infection. But my daily updated antivirus program NOD32 found nothing in Plato 3.exe, and my Plato 3 worked without any problems with other, smaller projects or when opened without project, e.g. for creating a new project.

I circumvented this problem by deleting manually, with an ASCII editor, all but one of the source file entries from the .FTN95P file, then I opened the project with the remaining file, then I added again en bloc all the other 'existing items', and I could continue adding item after item to the library without any further problem. This time consuming procedure had to be repeated after every restart of my PC.

When the library contained about 50 items, I got not even that error message.

Now, when the library contains the beforementioned 148 items, I cannot add these 'existing items' at once, but I have to add them in smaller groups, and the whole procedure takes nearly half an hour. -- By the way, I cannot quit understand why adding 148 items, that is: sorting them by name, writing the corresponding 1000+ lines into the FTN95P file, and eventually updating the INI file takes longer than a small fraction of a second.

Therefore my question is: Does there exist in Plato 3 a small number (e.g. 10--15) as the limit of the allowed number of source files of a project?

With thanks in advance for any help

Wolfgang Höppner.

11 May 2007 4:36 #1917

There is no internal limit to the number of files. Two suggestions...

  1. Use the latest version of Plato3 (released with FTN95 v5.01).
  2. Switch off dependency checking (on the Project menu).
22 May 2007 4:31 #1942

Hi Wolfgang,

I have not observed the problem you describe. However, I too have noticed that Plato seems to have a problem with 'large' numbers of individual source files - in my case, creating a project by adding around 50 such source files gave Plato a very bad case of indigestion. It swallowed them all eventually, and now I can develop the project OK - but creating it in the first place took a long time.

Andy

8 Jan 2009 3:18 #4173

I am experiencing exactly the same issue with a buffer over-run message, followed by program termination, when I try to separate my code into individual files (12 of them). I have tried turning off dependency checking, but this has not solved the problem.

Is there a solution to this, as it is very annoying to have to add the files to the project every time I start Plato.

Richard

8 Jan 2009 5:14 #4174

The advice remains the same (see above) but the current release of FTN95 comes with a later version of Plato.

Can you open the files in Plato without adding them to the project? If you can then you should at least be able to add them to the project with dependency checking switched off. As a last resort you could edit the project file (project.ftn95p) manually, adding project files by following the pattern for files already in the project.

8 Jan 2009 9:10 #4176

The files open in Plato without a problem. I can create a new project, add the files (with dependency checking switched off), compile and run the project. However, if I shut down Plato and re-start it (or the next time I start my computer and run Plato), I get the buffer over-run message which terminates Plato. I will attempt to add the files manually to the project as you suggest to see if that resolves the issue.

The licence I have for FTN95 does not have any support. Am I therefore able to get the current release (with a later version of Plato), or would I need to get a new licence to be able to use this?

Richard

8 Jan 2009 9:32 #4177

Plato does not need a licence but you will need to download the free personal edition of FTN95 etc on to a different machine in order to copy the new Plato across, otherwise you will loose your existing FTN95 licence. There may be other ways to do it but you cannot do a straight download.

Please login to reply.