Post
by FourthWorld » Thu Feb 17, 2011 12:06 am
I'm not sure I follow your post, reelstuff, but I'll see if I can clarify:
Modern OSes just don't allow an executable to be modified when it's running. I don't know much about Borland (other than that Delphi is said to be a great tool), but I would imagine the same applies to them as to any other toolmaker because AFAIK there's nothing any toolmaker can do to override that OS behavior.
As far as compilation, it's true that in general compilation requires the development engine. However, you can successfully set the script of an object at runtime as long as that script doesn't contain more than 10 executable lines. Few people ever need to do that anyway, since self-modifying code is widely regarded as a rat's nest of debugging nightmares.
But where LC differs from many other IDEs is that in addition to code stack files contain your user interface objects, and if your app supports saving data it can be desirable for some designs to use a stack file as the data file.
As with any other tool, and saved data must be separate from the executable file, but with LC that's dirt-simple to do: just use a separate stack file and use the "save" command on it. Depending on the particulars of your app there may be other considerations, like making sure any stack files are saved to folders with known write permissions, but the general principle of just using a stack file separate from your executable for data that needs to be saved is fairly straightforward.
In this regard LC is very much like any other RAD tool. Where LC offers and advantage, IMO, is that you can do that as easily with raw data as you can with any objects the engine supports, opening up very flexible options for what's in a data file and managing them easily.
For example, suppose you were making a custom drawing application. With most IDEs you'd have to store the definitions of the vector objects, and re-create them on the fly when a document is opened. But with LC, you can just use a stack file as your document, let the user draw into that, and in one line of code (the "save" command) you have everything in one file; the engine does all the work, and opening it again is just a matter of using the "open" command.