| View previous topic :: View next topic |
| Author |
Message |
Skit3000 Admin Team

Joined: 11 May 2002 Posts: 2166 Location: The Netherlands
|
Posted: Fri Oct 15, 2004 7:04 am Post subject: |
|
|
| FreezingFire wrote: | | One thing I find bad about extracting the runtime is that if the program is on a CD etc., then it won't be able to extract it, since it is read-only. |
Then make it so that it will extract to the Windows\system32 directory by default...  _________________ [ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial! |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Oct 15, 2004 8:26 am Post subject: |
|
|
| SnarlingSheep wrote: | VDS is a $99 language and the developer is worried about the extra work it would take to implement a feature that most of the customers want..
Not to mention the extra work it'd take to fix bugs already in the language.
Just one of the many reasons VDS will be crushed by it's competitors. |
You obviously haven't noticed that Visual Basic doesn't have an integrated runtime option, or that a lot of development tools with many more users than VDS (Symantec's products, Watcom's products) have ceased to be, or that there are continued rumours about Borland's continued viability. The fact that there is still an interest in continuing to develop VDS should be a matter for celebration. But, since it isn't being developed in someone's spare time as a hobby, you also must accept that there are constraints on the amount of time and money that can be spent on it.
I don't believe that most VDS users as a whole want an integrated runtime option. Emmanuel has never mentioned this to me as an important requirement. Many applications that people write use extensions, and everyone accepts that they can't be integrated. A handful of people in this forum have stated that they want this, but I have never seen anyone give a reason why it is needed, or why the solution that already exists - Alloy - is not acceptable.
The purpose of opening this discussion was simply to find out what people most want from a new version of VDS, if such a thing were to be developed. The price it sells for is only one half of the equation: the other is the number of buyers. The fact is that VDS is a niche product, it has a limited number of users, and therefore the amount of money available for development is also limited. Therefore the features to be included must be prioritised.
In this forum, I have the title "VDS Developer" which is slightly misleading because I am not the owner of VDS, nor an employee of Commercial Research and I do not have any say on how much money is spent nor is it up to me what features should or should not be included (though they obviously listen to my advice on it.) I won't continue to participate in this discussion if people decide to criticise me for decisions that are not mine to make in the first place. _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Oct 15, 2004 8:39 am Post subject: |
|
|
| PGWARE wrote: | For a 'self-contained' runtime couldn't you do this Julian:
Take the stub exe; include the runtimedll as a binary resource and have it extract out the dll with a TFileStream. It would do this at the very beginning of execution before running the SCRIPT portion; if the runtime is already within the system/current dir then do not extract. |
The stub contains a small handful of API calls, it knows nothing about things like TFileStream. So you would have a much bigger stub to start with, to include that Delphi run-time code. Then you have the problem of finding a suitable extraction path that is guaranteed to be writeable in all situations (different media, different user privilege levels) and also in the search path for finding the DLL.
Probably the problems could be overcome, if people were to accept the overhead of possibly a 200K stub plus the runtime in every EXE. But my question, once again, is: isn't this what Alloy does? My objection to this suggestion is simply: why waste scarce VDS development resources duplicating functionality that already exists in a third party product?
If people can demonstrate a) why integrated EXEs are essential and b) why Alloy doesn't meet this requirement, then I can argue a stronger case for this feature. But contributions along the lines of that made by SnarlingSheep won't do anyone any favours. _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Oct 15, 2004 8:40 am Post subject: |
|
|
| Skit3000 wrote: | | FreezingFire wrote: | | One thing I find bad about extracting the runtime is that if the program is on a CD etc., then it won't be able to extract it, since it is read-only. |
Then make it so that it will extract to the Windows\system32 directory by default...  |
But non-administrative users won't have permission to write to the System32 directory. _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
marty Professional Member


Joined: 10 May 2001 Posts: 789
|
Posted: Fri Oct 15, 2004 11:04 am Post subject: |
|
|
I think to have self contained EXE with runtime is not a BIG must have, since like you said there is Alloy. And when I mentionned using Delphi 6 would bring more features to VDS, again I should have said that most components could be used like you said.
Some features of VDS I would like to see in the future:
- ActiveX support (were we could use ActiveX features like Flash, Windows Media Player, IE Browser, Mozilla Browser, and so many more...)
- XML Support (Reading/Writing)
- RichEdit Object integrated (Basic functionnality)
- DirectX functionnalities : Audio, Video, DVD...
Also there is many API functionnality from windows that could be added,
Blending, calendar, and more...
I think CR should add more default extensions if they dont want to grow the runtime too much. For example having the Browser DLL included was a great idea. I think more DLLs should be include for different purposes.
Anyway just ideas...
 |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Oct 15, 2004 12:51 pm Post subject: |
|
|
ActiveX support would be very nice, but I don't know how to add it in VDS because it's an interpreter. I don't actually use ActiveX in my Delphi programs, but I think that when you do, you provide Delphi with a type library and it creates an object for the particular ActiveX you're using, which you then compile into the EXE. I don't think there is any kind of generic ActiveX support that could be compiled into VDS that would allow the VDS programmer to use any ActiveX object of his choosing. Another problem is that ActiveX uses typed variables whereas all VDS variables are strings. So if you could use ActiveX, it would be a bit like using the API, where you have to use int:x and bool:y to get the data converted into the right type. I think the solution to this is to create extensions which are wrappers to ActiveX objects that allow VDS to interface with them in an easier manner, just as VDSBRW50.DLL is a wrapper for the web browser ActiveX component.
XML support is something I thought VDS 5 should have, but I didn't have any ideas on how it should be done since I have never actually used it. I think this is something that could be included if people who actually use XML and want it in VDS 6 come up with a specification for how it should be implemented.
A RichEdit dialog element is certainly a possibility. I tended to avoid it because the rich edit control in Windows had a reputation for being somewhat buggy.
I think DirectX, like the IE Browser control, needs to be kept separate from the runtime because there are so many different versions around and they are not all compatible. If Microsoft releases a new version of DirectX you don't want to wait for the next version of VDS to take advantage of it.
Certainly I think a lot of the user interface enhancements that are currently only available in extensions or by API calls could be incorporated into the runtime. But I wouldn't rule out the possibility of new VDS commands and functions being implemented as DSUs that can be included in the applications that need them. _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
CodeScript Moderator Team

Joined: 08 Jun 2003 Posts: 1060 Location: India
|
Posted: Fri Oct 15, 2004 1:51 pm Post subject: |
|
|
Well first thing is we should all be happy about a new version coming up. I guess it wasn' so easy a decision to take for CR.
If the runtime size is gonna increase then may be a one can consider integrating an option to create setups in the IDE itsef(alt arguments may be - there are too many third party utilities for this, we have a open source project etc). IMO this may reduce the burden of the final package and makes the VDS language complete in all respects. May be optionally one can consider allowing download of the runtime from a remote location specified by the user although I don't know if this can be done with a small setup stub in delphi(Unlikely).
Another consideration I wud second marty is Simple Active X stuff (either integrated or as an extension) although CR needs to consider the development costs/time invloved for this non-newbie feature.
Another thing is ready made "DSU" for Entry level users.
Also ability to make a simple dll (written in VDS) instead of DSUs wud be worth a consideration. The dll should be having a VDS extension interface so that in principle it is same as a DSU for the usual users but it can also be used for other langauges/applications etc like any win32 dll.
Ability to have mulitple threads is another one that may be on low priority.
DirectX may not be cost/time effective considering the intricacies involved and the large number of game development software already around.
It is hard for me to think of suggesting more features as the langauge is already rich in features needed by most of the developers.
Edit: I have seen many of the above has been already replied by Julian while I was typing tjis offline. _________________ Regards
- CodeScript
Give your application a professional look with the VDSGUI Extension |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Oct 15, 2004 2:28 pm Post subject: |
|
|
Commercial Research had a VDS-based setup called V-Setup, but I don't know if it was ever updated for VDS 5. I personally never used it.
As you say, there are already many setup utilities, so there isn't much need for another. If size is a concern, I've been using Agentix Installer (http://www.agentix.org) which is quite inexpensive, but I recently learned that it barfs when run on Japanese Windows. I recently ran across another very small one, but I forget what it was now. The obvious solution is to create a self extracting Zip archive with a very small stub, which extracts everything (including the VDS runtime) to a temporary folder and then runs a VDS script to do the setup. I think that's pretty much what V-Setup did. It would probably add less than 30K to the size of the zip file. I doubt if it could be done in less than that if the facility was integrated into the runtime.
So why isn't there already a nice VDS-based setup script that could be run from an SFX in the manner I just described?  _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Oct 15, 2004 2:44 pm Post subject: |
|
|
The ability to create VDS extensions in VDS was something I thought about a while back, but after we had the DSU facility I couldn't really see the point of it. It would open up the possibility of creating DLLs that could be called from other programs, but the extension interface isn't designed for calling from other languages and it's far from ideal. I'm not sure that many people would want to do this.
The suggestion of making VDS multi-threaded arose when I wanted to create some servers in VDS. I have written a POP3 and a SMTP server in VDS but because they can only handle one connection at a time they aren't much practical use. The question is, whether many VDS users are interested in creating servers? The other benefit of multi-threading would be to allow multiple dialogs to work independently, which is hard to do without having one event loop for the whole program, which is usually a recipe for disaster. But perhaps this isn't considered much of a limitation either? _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
Skit3000 Admin Team

Joined: 11 May 2002 Posts: 2166 Location: The Netherlands
|
Posted: Fri Oct 15, 2004 3:24 pm Post subject: |
|
|
| jules wrote: | | The suggestion of making VDS multi-threaded arose when I wanted to create some servers in VDS. I have written a POP3 and a SMTP server in VDS but because they can only handle one connection at a time they aren't much practical use. The question is, whether many VDS users are interested in creating servers? The other benefit of multi-threading would be to allow multiple dialogs to work independently, which is hard to do without having one event loop for the whole program, which is usually a recipe for disaster. But perhaps this isn't considered much of a limitation either? |
For the people who really want multitasking support, you can just create one "real" server, which handles incoming events, etc., and which lets other copies of itself handle the real proccessing. I think you can compare it with a company at which the receptionist takes the phone, and forwards the caller to the proper people... The only downside of this is that every new copy has to be loaded in memory, so when serving 300 clients, you need a lot of RAM... But, I think that the same happens if VDS really supports multitasking...  _________________ [ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial! |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Oct 15, 2004 3:40 pm Post subject: |
|
|
| Skit3000 wrote: | For the people who really want multitasking support, you can just create one "real" server, which handles incoming events, etc., and which lets other copies of itself handle the real proccessing. I think you can compare it with a company at which the receptionist takes the phone, and forwards the caller to the proper people...  |
I'd be interested to see how you did this, if you have, because I tried it and I couldn't get it to work. The problem seemed to be that the socket ID that you get when the listening socket receives a connection isn't valid when used by another program.
| Skit3000 wrote: | The only downside of this is that every new copy has to be loaded in memory, so when serving 300 clients, you need a lot of RAM... But, I think that the same happens if VDS really supports multitasking...  |
It shouldn't do that. It shares the same memory, or it can do. In fact, I wrote an extension that spawns a separate thread running a copy of the script from a specified label. I was amazed that it worked at all, and even more amazed that when the spawned copy tried to display information on a dialog, it did so on the main thread's copy of the dialog. So the issue with making VDS capable of multithreading is mostly one of changing global to local variables, except for things you realy only want one instance of for the whole program. Which is not as trivial as that sentence may make it sound, as the VDS runtime is like a finely tuned Swiss watch and any slight change can cause problems that only come to light much later.  _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
Skit3000 Admin Team

Joined: 11 May 2002 Posts: 2166 Location: The Netherlands
|
Posted: Fri Oct 15, 2004 3:48 pm Post subject: |
|
|
| jules wrote: | | Skit3000 wrote: | For the people who really want multitasking support, you can just create one "real" server, which handles incoming events, etc., and which lets other copies of itself handle the real proccessing. I think you can compare it with a company at which the receptionist takes the phone, and forwards the caller to the proper people...  |
I'd be interested to see how you did this, if you have, because I tried it and I couldn't get it to work. The problem seemed to be that the socket ID that you get when the listening socket receives a connection isn't valid when used by another program. |
The program I made, was a little webserver which was able to parse a simple kind of script-files, just like PHP does. But because the routine I used, it was too slow to let the server do both handling the incoming connections, as running the script-file. That's why I decided to let other copies of the program do this, so that the main program could concentrate itself on getting in- and output. Because of this, and because I used Prakash' VDSIPP dll to create a HTTP web server, it was only able to send text files to the end user because sending files/images would really slow things down on the server program itself. If the client's browser requested an image, I just sended a HTTP header back which forwarded the browser to a real webserver which holded the files/images.... So I guess you can say I was cheating...  _________________ [ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial! |
|
| Back to top |
|
 |
SnarlingSheep Professional Member


Joined: 13 Mar 2001 Posts: 759 Location: Michigan
|
Posted: Fri Oct 15, 2004 8:29 pm Post subject: |
|
|
My use of the word developer was also slightly misleading, when I really meant the people that have a say in and/or program what is added and fixed. _________________ -Sheep
My pockets hurt... |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Sat Oct 16, 2004 10:19 am Post subject: |
|
|
All registered users have a say. There is nothing to stop anyone emailing CR with feature requests. I also suggested the idea of creating a wishlist on VDSWorld where people could suggest ideas and everyone could vote for them.
If I state that I don't think a particular idea is worth the effort of development, it's just an opinion. But I do have more knowledge of how much work a particular enhancement is likely to take than anyone else. What might seem like a simple improvement could actually be more work than adding several new dialog elements. _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
Serge Professional Member


Joined: 04 Mar 2002 Posts: 1480 Location: Australia
|
Posted: Sat Oct 16, 2004 3:11 pm Post subject: |
|
|
hi jules,
what about an idea i raised last year (?) about vds compiling a custom dll according to the needs of the vds program written, and this dll will be distributed with our program or compiled into the 1 exe?
or something like Euphoria where there are libraries that you call before you can use the functions and commands you want to use, and the whole thing compiled into 1 exe ?
i find it a bit wasteful to include a run time that could be 1 Mb when i might only use some of the functions and commands - especially when there are programs out there that do what some of mine do but are a lot smaller
also, when your idea of a wish list forum becomes a reality, perhaps people could post their definite wish and folks can vote on them so as to give commercial research some idea of what their users want
or perhaps even a mailout to all the folks registered at vds?
serge _________________
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|