forum.vdsworld.com Forum Index forum.vdsworld.com
Visit VDSWORLD.com
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


More pre-processor directives

 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Advanced Wish List
View previous topic :: View next topic  
Author Message
vdsalchemist
Admin Team


Joined: 23 Oct 2001
Posts: 1448
Location: Florida, USA

PostPosted: Thu Sep 11, 2003 9:26 pm    Post subject: More pre-processor directives Reply with quote

Hi All,

Also I wish VDS had more pre-processor directives. A #IFDEF directive would be nice for starters or maybe a function in VDS called @isdefined(). A couple of others would be nice too... #DATE #TIME for the time and date of the compile. Also can we get a #UNDEFINE?
Also when you use the #include directive can VDS scan the source that has the #include to check which functions, commands, or what ever is being used in the included *.dsc or *.dsu and only include those items instead of the complete Unit or *.dsc? At least give us the option of eliminating parts that are not being used in the Unit at compile time. For example, lets say I have a *.dsu that has commands called Command1, Command2, and Command3 implemented but the *.dsc that is including the *.dsu only wants to use Command2 is there a way that when you compile your script that it would eliminate Command1 and Command3's code so that we don't have un-needed bagage? Just a couple of wishes.

Here is another observation of the current version of VDS. The help file says that the variables %1 - %9 and %A - %Z are local varibles when used inside of a user defined command or function. Well this is not exactly true. You can still read the values of those varibles outside of the command or function? I may be reading the help file wrong or I don't understand what the help file is calling "LOCAL"... In other languages when they say that a variable is LOCAL to a command of function you cannot read that variable's value from outside of the command or function unless the value is returned by the function, assigned to a global variable, or assigned to the parameter list. My wish here is that the variables %A to %Z be LOCAL meaning that outside of the COMMAND or FUNCTION you cannot read their values and that since %1 to %9 are used as parameters to the commands and functions that we are allowed to see their values outside of a command or function because they may have been updated with new information. This should allow us to have true scope of variables in VDS.

Anyway I think that is enough wishing for me for now Wink

_________________
Home of

Give VDS a new purpose!
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
CodeScript
Moderator Team


Joined: 08 Jun 2003
Posts: 1054
Location: India

PostPosted: Fri Sep 12, 2003 5:49 am    Post subject: Reply with quote

mindpower wrote:
Also when you use the #include directive can VDS scan the source that has the #include to check which functions, commands, or what ever is being used in the included *.dsc or *.dsu and only include those items instead of the complete Unit or *.dsc?

I think this is very important. If one has this ability then all the hassle of using #define in the .dsc by the user rather than .dsu is avoided.

As far as the "local" variables are concerned I think now vds restores the value of the original variable if it has one. But it retains the value obtained during the sub/custom command if the original value was null. But this is agin not always true and I think there may be a bug. Sometimes the variable forgets it's original value Sad .
I wish even more that the 9 parameter limit be removed e.g. %1a %1b %1c and so on.

Also another wish is to have call back functions in VDS. ( I know this one is too much since many here may not know even what it is)

_________________
Regards
- CodeScript
Arrow Give your application a professional look with the VDSGUI Extension
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Sep 12, 2003 8:13 am    Post subject: Reply with quote

You can #define commands and functions in the #include file that implements them. I always do that.
Only including the parts of the script that are used just isn't possible, though. The syntax of VDS doesn't provide any way for the compiler to know what bits are used and what aren't (goto %%variable, for example.) Also, it's important to keep everything in every file so if a runtime error occurs it's possible to work out what line it occurred on. For the same reason, conditional compilation using an #IFDEF directive would be a problem. To my mind, these kind of features would start to make VDS too daunting and complicated and take it away from its aim to be a simple, easy to use language.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
vdsalchemist
Admin Team


Joined: 23 Oct 2001
Posts: 1448
Location: Florida, USA

PostPosted: Fri Sep 12, 2003 2:19 pm    Post subject: Reply with quote

jules wrote:
Also, it's important to keep everything in every file so if a runtime error occurs it's possible to work out what line it occurred on.


Jules,
I don't understand this line because when I #INCLUDE either a *.dsc or *.dsu the error handler for VDS only returns the calling line not a line inside the #INCLUDE *.dsc or *.dsu? Is it supposed to return the line number of the main script file or the line number inside the #INCLUDE file?
I can see your point about the #IFDEF being to daunting for many of the users of VDS but since you added Win32 API abilities and some API's are for NT while others are for Win9x using the #IFDEF can make it easier to control which API is being defined and only define the one that is actually needed instead of having both of them defined and included in the source. The overhead for the DSU would be less but yes it would require a bit more knowledge than the average VDS user to use but some of us come from other languages that have these facilities and we are actively converting code from those languages to VDS now. It never hurts to think about more features and adding control sturctures to a language is a good thing even if they are a bit daunting to most of the users does not mean they should not be added. You do have many users that do understand and would use these features heavily.
It is very disapointing to post a wish and then to be told flat out that your wish will never happen because it is too hard for others to understand eventhough the language already has features that are over most users heads anyway Sad

_________________
Home of

Give VDS a new purpose!
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
CodeScript
Moderator Team


Joined: 08 Jun 2003
Posts: 1054
Location: India

PostPosted: Fri Sep 12, 2003 2:32 pm    Post subject: Reply with quote

mindpower wrote:
eventhough the language already has features that are over most users heads anyway

Even I think so. Such features could be implemented even though it's complicated with a clear instruction in help file as an unsupported command /for advanced developers only as users who have knowledge of more complex languages can use them to provide a custom easy to use command for the novice. I think this definitely helps in growth of the language my 2 cents.

_________________
Regards
- CodeScript
Arrow Give your application a professional look with the VDSGUI Extension
Back to top
View user's profile Send private message Visit poster's website
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1537

PostPosted: Fri Sep 12, 2003 3:07 pm    Post subject: Reply with quote

Quote:
Also when you use the #include directive can VDS scan the source that has the #include to check which functions, commands, or what ever is being used in the included *.dsc or *.dsu and only include those items instead of the complete Unit or *.dsc?



This is completely unnecessary, if you want your users to have the option to pick and choose which commands/functions they want from your unit then provide them the source code to the unit; then they can comment out code or make customizations. If you don't want to provide source then I don't see how a few lines of 'overhead' are going to hurt.
Back to top
View user's profile Send private message
vdsalchemist
Admin Team


Joined: 23 Oct 2001
Posts: 1448
Location: Florida, USA

PostPosted: Fri Sep 12, 2003 4:11 pm    Post subject: Reply with quote

PGWARE wrote:
Quote:
Also when you use the #include directive can VDS scan the source that has the #include to check which functions, commands, or what ever is being used in the included *.dsc or *.dsu and only include those items instead of the complete Unit or *.dsc?



This is completely unnecessary, if you want your users to have the option to pick and choose which commands/functions they want from your unit then provide them the source code to the unit; then they can comment out code or make customizations. If you don't want to provide source then I don't see how a few lines of 'overhead' are going to hurt.


I have units that are far more than just a few lines Prakash Laughing While I do support the Opensource ideas I still have to eat so I will not be releasing that many of my units source code.

Ok so what is the point of this section of the forum again Question I am confused here Confused I thought this was a wish list right? If it is not then why is it that we post wishes and we get told that this is completely unnecessary and that it is never going to happen? If someone posts a wish are they asking you to do it right now. I don't think I was asking for this to be done tomorrow but to post it as food for thought and to make my wish known. Everything that I have asked for are with in reason and are found even in the simplest of BASIC compilers. So I see no reason for the excuses or to be told "It will never happen so don't ask again"... At least that is how I feel and this is my Opinion on asking for a wish.

You know if I wanted to I could make VDS do all these things but it is much nicer and cleaner if it was part of the language itself.

Very upset here maybe I should go cool down for a bit!!!!

_________________
Home of

Give VDS a new purpose!
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1537

PostPosted: Fri Sep 12, 2003 6:32 pm    Post subject: Reply with quote

I don't think anyone is shooting your ideas down to make you angry, I think Julian and myself simply point out that it's probably not going to happen. How much demand is there for this? A few people at most want this, would you spend countless hours trying to implement such a feature for 2-3 people? It just doesn't sound economically feasible to spend so much time implementing features like this when so few people will use it or even know how to use it. If the demand is there then definately I'm sure CR will take a look into it.
Back to top
View user's profile Send private message
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Fri Sep 12, 2003 6:57 pm    Post subject: Reply with quote

I might like to see it in the future. Right now I don't have units that are
generally more than 300 lines at most, but as I continue to learn more,
I can see a problem with someone who makes a 800 or 1000 line unit,
which is quite a few extra KB.

Though I don't want to pick a fight (and please don't take offense, this is my
personal opinion...), I think that (once, again Rolling Eyes ) these ideas are simply
being dismissed. I don't care wether people do it to make people mad or
not, but it should not be allowed. Period.

_________________
FreezingFire
VDSWORLD.com
Site Admin Team
Back to top
View user's profile Send private message Visit poster's website
vdsalchemist
Admin Team


Joined: 23 Oct 2001
Posts: 1448
Location: Florida, USA

PostPosted: Fri Sep 12, 2003 7:13 pm    Post subject: Reply with quote

PGWARE wrote:
I don't think anyone is shooting your ideas down to make you angry, I think Julian and myself simply point out that it's probably not going to happen. How much demand is there for this? A few people at most want this, would you spend countless hours trying to implement such a feature for 2-3 people? It just doesn't sound economically feasible to spend so much time implementing features like this when so few people will use it or even know how to use it. If the demand is there then definately I'm sure CR will take a look into it.


Now this is a much better answer. If I know that there is a possibility then I am happy. If you tell a customer that there is no possibility or that there is no way to do something I think that is a bad way. An even better way would be to tell your customer that you will look into it and see how much it would take to implement something or if it would be economical for you to implement it. I know that Jules is not a PR person but what I don't understand is why does he make such blunt statements? Jules and anyone else that works for CR please don't tell a long standing Customer that you can't do something. This just frustrates them and makes them think twice about buying the next awesome version.
Up until a year ago I was told that you could not Call NON-VDS DLL's with VDS and it would never be implemented in VDS so that is why I built Gadget. I proved that it could be done but it would require more time and effort. And WOW now we have a VDS version that has this ability built in.
NOTE: CR did not know that I was building Gadget ahead of time nor did I know that they were putting these abilities in the current version of VDS before I had Gadget built and working.

My point here is that anything can be done. So don't try to give me that Bullcaca that it cannot be done. I am not your average VDS user. I know how languages are built and I know how much work it takes to build them and yes for some features it can take a very long time and effort. How long it will take and how much resources it will take is a different matter but I do understand. If I need a feature to be added to the next version of VDS I am usually able to pay for it.
I am prob. not like most of you here. I use VDS at my job as my primary language. When VDS cannot do something or does it too slow I write that part in C but for the most part VDS is the language of choice for the fact that it does not take that long to build a fully functional application as it does with C and it does not have the overhead of VB. I would use Delphi but I don't know the language well enough and I have very little time to learn another language unless I really have to.

_________________
Home of

Give VDS a new purpose!
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1537

PostPosted: Fri Sep 12, 2003 9:03 pm    Post subject: Reply with quote

I don't think Julian is an employee of CR or SADE so his remarks are only personal statements; from what I understand he works on a contract basis not as an employee. I don't work for SADE in any manner, in the past I did contract work but very basic things nothing directly with VDS code development; so anything I may say is also just personal opinions/statements.

I don't think any EMPLOYEE of SADE or CR has ever come here telling their customers their wish list items will flat out not be implemented; rather it's people who have worked on contract basis with SADEthat have stated it's unlikely such a feature would be added in.

Maybe CR is working on such a feature already? I'm not certain, and I think Julian would be asked to do that if such a feature was requested and he hasn't mentioned this to be the case.

I'm certainly not trying to make anyone angry when I suggest it's doubtful features will be added in, I'm just being realistic and expressing what I think CR would even consider to add in. They may add features like this in if the community demands it but again unless there is a huge push behind this it's doubtful they would even consider it important to add in.
Back to top
View user's profile Send private message
vdsalchemist
Admin Team


Joined: 23 Oct 2001
Posts: 1448
Location: Florida, USA

PostPosted: Fri Sep 12, 2003 9:20 pm    Post subject: Reply with quote

Prakash,
I am not angry here just very disapointed. I know neither you nor Jules works as an employee for CR. I have known that for a very long time now but what you guys say can and does influence what CR will do next with VDS in a very big way more so than the rest of us here. Especially Jules since he does most if not all of the Runtime programming for CR. I am not trying to start any waves here I am just trying to post a wish is all. I did not think it would be shot down before it has even had anyone really take a look at it Confused

_________________
Home of

Give VDS a new purpose!
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Advanced Wish List All times are GMT
Page 1 of 1

 
Jump to:  
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




Twitter@vdsworld       RSS

Powered by phpBB © 2001, 2005 phpBB Group