Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Why is this happening?

Author
Message
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 12th Nov 2017 23:14
I have just recently started to receive some strange errors that I can't fully explain. The one is This, for no reason FOR-NEXT loops just suddenly changed the way they are compiled
If I run this code below I get the Error,

Compilation Failed. NEXT only takes one parameter at line 22.

+ Code Snippet

As long as I put NEXT count IE: Explicitly tell the compiler what Variable the Next statement uses( I know, I should anyway) then it works fine. Its also giving me errors every now and then telling me that I am not allowed to Declare A TYPE. There is no rhyme or reason to what TYPE it allows and don't either. If I get the error I can remove one of the Type declarations or rearrange them and I just get the same error on the other type. I have no idea what changed in my compiler settings that is causing these sorts of Errors to appear.


There is also something that I posted about in my Short Questions Thread in which I can place the statement

DIM creatures(VAR1, VAR2, VAR3)

and it allows me to call the Creature variable without all three perimeters which I don't understand.

Creature(VAR2, VAR3) = etc....
Does not trigger an Error which I believe it should have. I was setting up a program to see what value it returns IE: I wanted to see what part of the array its returning by just passing the 2 perimeters when my compiler started giving me the other errors that I posted about above making it impossible for me to debug or understand what is going on because I am getting a slew of errors that I have NEVER gotten before.

Please someone help I can't use Darkbasic anymore if this continues. The strange part is I can still compile all my old stuff with no problem, its only new projects triggering all these errors so what exactly am I missing here. Something had to have changed but I don't know what.

Thanks for any and all help
~Sedit
pavelman
4
Years of Service
User Offline
Joined: 9th Apr 2013
Location: Russia Petersburg
Posted: 13th Nov 2017 05:33 Edited at: 13th Nov 2017 06:26
+ Code Snippet
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 13th Nov 2017 10:14
huh?

I'm not sure you understand what I am saying the issue is....
pavelman
4
Years of Service
User Offline
Joined: 9th Apr 2013
Location: Russia Petersburg
Posted: 13th Nov 2017 15:37 Edited at: 13th Nov 2017 15:39
for dark you wrote nonsense. he is not aware.
+ Code Snippet
maybe you dark basic confused schem?
Chris Tate
DBPro Master
9
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 13th Nov 2017 16:34
Could be that the following typo: 'z sas integer' is causing some kind of problem. Change to 'z as integer'.

I am uncertain as to why this is the error message you are triggering.

Quote: "Creature(VAR2, VAR3) = etc....
Does not trigger an Error which I believe it should have"


A multidimensional array is an array in which each array element is itself an array. In DBPro when you exclude a dimension index, the first array element is referenced.

XYZ(1,0) and XYZ(1) refer to the same element.

XYZW(10,1,0) and XYZW(10,1) refer to the same element.

No error message will occur.

But try not to use them now. Stick with single dimension arrays and UDTs for defining your type instances. Use multi-dimensional arrays for elements which are arranged in tabular format if single dimension representation would over complicate.

Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 13th Nov 2017 18:12
"for dark you wrote nonsense. he is not aware."

Dude sorry but your writing Nonsense, Please read my code again, What your typing does not even make sense why are you attempting to get the information from the UDT by placing it as a indice from the array? I have never seen it done like that and don't know if it even can be.

Look at my code closer I think you are getting confused by the fact that the Array is a User defined type. Your attempting to add them as separate indices which would totally overload the amount of memory.


Chris Tate There is a couple typos in the original post I made, I will go back and fix it. However that's not what is triggering the error as I have rewrote the code over and over with same results, changed the order of type defs and more importantly the FOR- NEXT loop. I never ever had that error before. The TYPE error I have not even pinpointed because it just randomly tells me that I can not Define that specific type and found no fix. Atleast with the FOR-NEXT I just add the Variable at the end of Next and its fine but I have NEVER had to do this before in the past and it came totally out of no where.



I did notice I had some errors with my .NET4.0 last night which changed a bunch of settings on me for my computer. I have not yet tested to see if the errors fixed them self or not but it seems likely.

Can UDT be called the way Pavelman is suggesting? I don't see why anyone who call the UDT that way but just trying to understand what he is trying to say since I believe English is not his native.
pavelman
4
Years of Service
User Offline
Joined: 9th Apr 2013
Location: Russia Petersburg
Posted: 13th Nov 2017 19:29
I'm sorry if I offended you and I apologize.
I write with arrays and performance issues do not.
At least I have a computer from the dinosaur era.
game small and memory problems are also present.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 13th Nov 2017 20:15
Na no offense at all bro, English is not your native tongue correct?

I'm just trying to understand why you think it should be written the way you suggested.

LOL You think your computer is bad, my Laptop crashed about a month ago so I pulled this one from 2003 out of storage and am using this so I know the feels dude.



I am getting all sorts of strange Errors and I can not figure out what changed and whats going on in my system...

I now keep getting Errors saying Command out of place at line... YET THERE IS NOTHING THERE AT THAT LINE WTF!!!

How can I program when the compiler is seeing stuff that is not there?
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 14th Nov 2017 03:29 Edited at: 14th Nov 2017 03:35
This for instance is an Error I am getting while I am attempting to write a new game for my kids...


Compilation Failed. Declaration is not valid at line 39.
type dfasdf
HEALTH as integer
SCORE as integer
SPEED as float
POSITION as vector3
endtype

I thought maybe the name was conflicting so I just Keymashed and DFASDF is not valid Either. WTF I Like using Darkbasic but I just can't keep making stuff if errors like this can't be fixed. Has anyone ever gotten errors like this? Like I said up until yesterday I had no problem what so ever so what could cause something like this to start happening? I don't believe I made any changes what so ever to DB, I made some system changes on my computer accidently getting rid of the .NET 4.0 and 4.5 framework. I reinstalled .NET 4.0 SDK and RUNTIMES but I really don't think that is what is causing my error.


What is really weird is this was working and compiling just fine then out of no where half way through programming my little game here it just suddenly started giving me this TYPE error.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 14th Nov 2017 03:40 Edited at: 14th Nov 2017 03:59
RUNTIME ERROR____

MAKE OBJECT cube 1,10
MAKE OBJECT cube 2,10
//sc_setupobject PLAYER_1,0,0
//sc_setupobject PLAYER_2,0,0
POSITION OBJECT 1,200,0,200
POSITION OBJECT 2,200,0,0


OBJECT DOES NOT EXIST 1....

All sorts of things like this, Someone has to have some sort of idea what is going on here.

And like I said the odd part is it works works works works.... Then for no reason stops working.


Tell you what, Can someone Help me, Does anyone know what I can do in order to get Error codes etc if objects can not be created and what not? I need to find out what is going on in the memory of my IDE/Compiler/DirectX or whatever the hell it is that is causing these errors, Something is not getting placed right in the memory that is the only solution here. The IDE is acting Strange, ts running slow as hell, The outliner to collapse various parts of code sometimes just picks random locations, Objects are not getting created when they should... In other words my memory is being corrupted somewhere and I need to have some sort of statement such as

IF OBJECT CREATION FAILS RETURN ERROR CODE etc.... So I can figure out exactly what is fucking my memory up. I am quite pissed off at the moment because I was making extremely good time making a new Smash Brothers type fighting game and then this happens and totally stalls and kills any progress.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 14th Nov 2017 04:55
OK.... So I just got a little Hint of whats going on, my compiler I don't think is line returning correctly, Check this out


//_______
MAKE OBJECT sphere 1,10
MAKE OBJECT sphere 2,10

Triggers and Error because It is saying that object 1 is never created yet...

MAKE OBJECT sphere 1,10
MAKE OBJECT sphere 2,10

Has no problem what so ever.

Has anyone ever see such a thing or know how I can fix it? Its causing me a MESS of issues because I have no idea when its line returning and when its not. Thats crazy, never seen such a thing and I need to fix it ASAP.
Chris Tate
DBPro Master
9
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 14th Nov 2017 19:26 Edited at: 14th Nov 2017 19:27
Quote: "Compilation Failed. Declaration is not valid at line 39.

POSITION as vector3"


Either there is no Vector3 datatype declared, as indicated in your original post; it was called vec3.

Or, the datatype was declared, after it was referenced, rather than before. The compiler may be looking for the vector3 UDT, as it reads the POSITION as vector3 line, but was yet to be compiled as a UDT.

Quote: "MAKE OBJECT sphere 1,10
MAKE OBJECT sphere 2,10

Triggers and Error because It is saying that object 1 is never created yet...

MAKE OBJECT sphere 1,10
MAKE OBJECT sphere 2,10"


May I request that you post the entire section of code including the start-up procedure so we can see what's going on.

One of the most common causes of this problem is running the Set Display Mode command after making objects, instead of before. This command appears to wipe out all resources, or establish a new instance of the engine; or something... If you did not use that command then I can only make a judgement on the program if you can post the code, the big picture.
Ortu
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 14th Nov 2017 19:28
The line numbers are misleading. When you compile, everything gets merged into a temp file and passed to the compiler , the reported line refers to the numbering in this file, not your actual project file which may not match, particularly if you have multiple source files or #includes.

You want to look at the reported line in fullsourcedump.dba which is in a temp folder on your dbpro install folder or compiler folder, I forget the exact details.

(Even then it can sometimes misreport a line when functions are involved)
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 15th Nov 2017 01:46 Edited at: 15th Nov 2017 02:00
All my UTD are at the top ALWAYS, It goes, #Constants, UDT, GLOBALS to ensure this does not become an issue.

Ortu the Line numbers seems pretty on point, just the reasoning for the errors is confusing me, like why its ignoring a command because the line before it was commented and strange things like that.

//_______
MAKE OBJECT sphere 1,10
MAKE OBJECT sphere 2,10

Was an error Chris only because of that comment on the line above making the Object never get created because the compiler was skipping over it which is NOT suppose to happen.

I sort of can't post the code at the moment Chris because I have temporarily gotten the errors fixed but I am sure more will appear out of no where like they have been.

Here is the code, I have another current issue if anyone knows a fix for it. The ball is falling ot the platform. I call Gravity if the player(ball) is falling , problem is two fold if it falls to fast it tunnels and gets stuck in the floor and another issue is its either falling or connecting. I'm a little stumped on how to have that in between because soon as I make him no longer being in connection with the floor he is essentially floating slightly above it and it again attempts to fall. Considering a Ray_cast to detect floor below the player but that seems total overkill and I am just missing something.

Anyway here is the code, I managed to get a little written out but I have been seriously slowed down by the strange Errors and now by my little game physics issue. I just want the stupid ball to jump when I hit space lol. It sort of does but there is many bugs to get it to work the way I want it to. Like when it hits the side of the platform it jumps up. That I really don't understand. Sorry its half Sparky Collision and half not. I was literally in the middle of removing Sparkys DLL from the project because of issues I was having and just going back to native commands.

+ Code Snippet


I fixed the error I was getting by being extremely careful were I placed different things and if I had a // Comment before it because it was never ending the comment line for one causing the error I spoke of above in which Object 1 was not created because I just had a simple comment line above it,
ALSO It is not detecting the end of loops correctly on Do-For Etc, I have not tested a While loop yet.

Something is just really wrong with my IDE... My compiler.... or My computer just not 100% sure which is the source.
Chris Tate
DBPro Master
9
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 15th Nov 2017 13:39 Edited at: 15th Nov 2017 13:42
Quote: "//_______"

Quote: "Was an error Chris only because of that comment on the line above making the Object never get created because the compiler was skipping over it which is NOT suppose to happen."


Yes, I think so. I have experienced similarly unexpected problems occurring immediately after the usage of underscores in comments in the past. It could be the cause of the problem.

I say it could be, because I experienced a bogus compiler error along the lines of 'this line was not expected'; even though the line was, expected. The difference between my experience and yours is, you are experiencing a runtime error, and not a compile time error.

So remove all commented underscore separators and replace them with another character such as =/\-

I hope that fixes your problems. Underscore separators look nice, but I have experienced compiler errors when using them.

I noticed that the problems only occurred when the underscore comment is immediately above code. Not when above or below other comments.
Ortu
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 15th Nov 2017 16:23
Interesting on the underscore bit, I tend to use - for minor divides and = for major divides, I also tend to leave a blank line above and below. Compiler doesnt care about whitespace and it is more readable, so i use a lot of it

Also, I believe that // comment is an unofficial/undocumented symbol, it works (mostly?) But the standard comment token in dbpro is ` or rem
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 15th Nov 2017 17:12
(I noticed that the problems only occurred when the underscore comment is immediately above code. Not when above or below other comments.)


Yeah it has to be Directly above the line and the line did not get compiled, Weird thing is it don't happen all the time so there is something else I am missing that is interfering with the parser and not allowing the line to end so its seeing the entire thing as though its a Comment.

I normally use to use //========= but found //_____________ Much cleaner and started using that.

What is strange is my IDE does not recognize ' as a comment. It works but it does not show green like a normal comment so I strayed from using it that much.


I have also been getting an error a lot lately in which my DBPro will freeze for a second then unload my entire project and start anew. It happened last night and has happened a handful of times before that.

Should have included this right from the get go....
IDE is OCT 2008 Build
Compiler v1.0761
Ortu
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 15th Nov 2017 17:28 Edited at: 15th Nov 2017 17:29
To be clear the comment symbol is tilde key above tab, not apostrophe next to enter.

To be honest, the IDE has always been a bit quirky and I haven't used it in a long time. I wrote a custom build system that runs some preprocessing and just passes everything to the compiler directly.

If you are using an older version if the IDE than version of the compiler, you may run into all sorts of unexpected behavior.

Are you using the github version of dbpro? 9ex? original/official U77? Each of these have slightly different behaviors and capabilities
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 15th Nov 2017 17:39
(To be clear the comment symbol is tilde key above tab, not apostrophe next to enter.)
Oh yeah would ya look at that, Thanks, They both work however but only the one shows in green.



The Download ones from Github and stuff I always had errors with, It would compile but would only flash and the program would not really run. I had to change the config file I believe it was with the one that I downloaded from a Link Zero provided a while back. I have just stuck with the IDE I got from Zero link since it has a bunch of libraries already installed like Sparky and DarkPhysics etc..
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 15th Nov 2017 23:39
What am I over looking here anything???


I am getting an error on the inner nested Next loop telling me

Compilation Failed. Could not understand command at line 123.
+ Code Snippet

I got a Video coming so you can see the mess that is going on in my compiler in real time and get a better sense of what is going on. I had a really good video or at least I thought I did only to find my screen capture was not over the area in which the program was acting up.

But am I missing something here or is my Nested NEXT loop really just screwing up beyond my control.
Ortu
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 16th Nov 2017 00:13 Edited at: 16th Nov 2017 00:13
for one thing, you have 'll' as the for variable, but 'l' is used inside / as the next variable, this will cause odd behavior, but shouldnt error on the compile.

dbpro can be buggy with multiple commands on a line sometimes, i try to avoid this.

does it compile if you comment out the inner for block?

+ Code Snippet
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 16th Nov 2017 10:05
Sorry the II was just something I did last minute to see if it was the variable name that was getting in the way, it did not work with I either. I got a memory leak somewhere deep in the core of DirectX I believe. It started when I downloaded DarkGDK and set it up and that placed some older forms of Direct X on my computer to work with, Since then I have been getting these strange errors and every so often my entire IDE freezes or just resets unloading my project, I lose all the information in the Code view window sometimes and some times FOR_NEXT loops get messed up, Dim and Type Commands get messed up and the Auto Outlining gets messed up sometimes....

I have given it alot of thought and the nature of all of these errors and the timing of when they started suggest that when I installed DarkGDK something changed in my system and more then likely DirectX has a memory leak somewhere that is bogging down and eventually crashing my compiler and IDE every hour or two.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 16th Nov 2017 10:09
No it didn't compile even if there was nothing in the middle. Its as though it never could tell that the first For command line ever ended. This is a recurring theme in these errors. Its like the Compiler can not tell when a Line ended.

I am going to see about changing a font to something like a wingding next time to see if there are invisible Character that could have something to do with this because that code was copied from this forum as I am toying around with making water when that error happened.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 19th Nov 2017 22:14
How Crazy, I found the problem

(at least part of it.)

My use of
//_____


For my comments is a large source of the problem. Their is a bug in the compiler and it does not register the line after that for some reason. Can anyone please test this as well to see what version this bug starts and if it has ever been fixed. Its such a stupid thing but it causes all sorts of issues when a line of code that for every general purpose should be there and your looking right at it but as far as the compiler is concern its not there.

I just figured it out because I had
SYNC ON:CLS 0:SYNC RATE 60
at th top of my program and went to add a comment only to have my screen start flickering. If I use //_________ it messes up.

rem _
and
` _

does not work Either you can not comment like this and have a line directly after it because the line is not detected. If you have a single space between the comment and the next line of code you are fine also. God knows how many issues this has caused people in the past.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 23rd Nov 2017 01:31
Here is again is telling me something that I do not understand....

What am I missing?

ERROR: NEXT ONLY TAKES ONE PERIMETER AT LINE 8
Rem Project: CIRCLE
Rem Created: Wednesday, November 22, 2017
Rem ***** Main Source File *****
SYNC ON

X = 100
Y = 100
FOR ANGLE = 0 TO 360
X = X + COS(ANGLE) * 3.14159 + 100
Y = Y + SIN(ANGLE) * 3.14159 + 100
NEXT
Sphere sphere = new Sphere(0.5f);
InsanelyRedundantJava insanelyredundantjava = new InsanelyRedundantJava(Redundancy1, Redundancy2);
Ortu
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 23rd Nov 2017 01:34
It requires exactly 1 parameter, you have given 0

Use next angle
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 23rd Nov 2017 02:26
That does solve it I knew that but I NEVER had to do that in the past and most of the time don't have to do that in darkbasic. Why does it sometimes force me to add a variable to next and sometimes it does not. What is the difference?
Sphere sphere = new Sphere(0.5f);
InsanelyRedundantJava insanelyredundantjava = new InsanelyRedundantJava(Redundancy1, Redundancy2);
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 23rd Nov 2017 02:34
For instance ORTU,

This works, I have two nested FOR_NEXT loops, One I have to place the Variable after NEXT the other I do not.... That is confusing the hell out of me...


SYNC ON
SET DISPLAY MODE 1000,1000,32
SET WINDOW POSITION 0,0



DIST = 20
STARTX = SCREEN WIDTH() / 2
STARTY = SCREEN HEIGHT() / 2

FOR ANGLE = 0 TO 360
FOR DIST = 0 TO 3

X = DIST * COS(ANGLE) * 3.14159
Y = DIST * SIN(ANGLE) * 3.14159
DOT STARTX+X,STARTY+Y
SYNC
NEXT
NEXT ANGLE
SYNC
WAIT KEY
Sphere sphere = new Sphere(0.5f);
InsanelyRedundantJava insanelyredundantjava = new InsanelyRedundantJava(Redundancy1, Redundancy2);
Ortu
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 23rd Nov 2017 05:00
Yeah I don't know man. I've always specified the variable to increment and don't believe that Next is really intended to be able to be used without doing so. I am kind of surprised that it ever works, and not at all surprised that doing so has inconsistent behavior.
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Sedit
Recently Online
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 23rd Nov 2017 09:18
Its funny because even though I know I should, I don't think I EVER use to use it on the next statement but I could be wrong. I am about to download QBASIC tomorrow and see if that forces it but I don't remember doing it back in the day either.

Up until all these other issues showed up I never had any issues with not specifying the variable for NEXT and all my programs prior to the "change" whatever the hell that might be still compile fine so I am assuming its maybe something in the Config file or....

HMMMM..... The Project Files are perfectly readable. Next time I get a strange error I am going to compare the Project file to my old project files and see if there is any difference. That might help me solve this whole ordeal by figuring out exactly whats causing it.

I have never had something Elude me as long as this has. Its just so Scattered and wide spread that I just can't put my finger on the source of whats causing this change.
Sphere sphere = new Sphere(0.5f);
InsanelyRedundantJava insanelyredundantjava = new InsanelyRedundantJava(Redundancy1, Redundancy2);

Login to post a reply

Server time is: 2017-11-25 07:32:05
Your offset time is: 2017-11-25 07:32:05