Results 1 to 7 of 7

Thread: Runs on Win7 but not on XP

  1. #1

    Runs on Win7 but not on XP

    Hi all,

    Same problem as previous ..
    I stripped down the attached code to console and oxygen only. (w the intention to print 100 values to the console).
    It gives one value on screen and then crashes.

    (works on Win7)

    best Rob
    Attached Files Attached Files

  2. #2
    Could you try this one with XP, Rob.

    The finish function (containing terminate) is important. It ensures that that Oxygen's global working memory is retained until explicitly released by this function. Otherwise it is automatically released on leaving o2_exec, causing the XP crash. Memory resources seem to be handled differently in Vista and Windows7, so the problem remains hidden.

    sub finish link #pBye
    terminate
    end sub
    Attached Files Attached Files

  3. #3
    Hi Charles,

    Not yet -- but now I get an error signature ! (attached)

    I saved the --- "send to MS" --- file too , if you need it ? (around 200Kb text ! I wonder why MS needs all this info - the prototype of the text shown on screen is different from the one to send (and this document is immidiatly erased, well ,well )

    best Rob
    Attached Images Attached Images

  4. #4
    Could be an overflow here:

    function g3D() link #p3D
    for i=0 to 99
    dx=x
    da=a+i/50
    for j=1 to 100 ' should be 0 to 99?
    ..


    You can also work arrays in base 0, if it is more convenient:

    indexbase 0


    then your index expression beomes slightly simpler:

    m3D(i+100*j).y=..
    Last edited by Charles Pegge; 27-01-2014 at 01:04.

  5. #5
    Hi Charles,

    Oops, yes ... looping till 10100 :-c

    Yes, it works now on XP.
    I'll have a look at that previous program, if terminate() and/or my erroneous index caused the crash.

    so , with indexbase 0 then , dim (100) allocates 101 items ?? 0...100.

    Many thanks, Rob
    Attached Files Attached Files

  6. #6
    Yes, 101 items when dimensioning after an indexbase 0 directive. This is a BASIC legacy precaution.

  7. #7
    Ah, ok , thanks ..

    In that case :

    tb : m(100)

    O2 : m at #m --> O2's m(0) = TB's m(1) ..... till .... O2 m(99) = m(100) in TB.

    The 0 indexbase (in this case) is the more logical imho , because the sequence x0, x1 ... xn contains n+1 values. (not excluding the starting point from a representation.)

    .. then the step has to be dx/99 or dx/(n-1) in general to be conform with TB -- or in TB dim m(101) .. ok, got it.

    best Rob

Similar Threads

  1. Win7 64 bit: my new development machine.
    By ErosOlmi in forum Suggestions/Ideas discussions
    Replies: 3
    Last Post: 23-05-2010, 23:41

Members who have read this thread: 0

There are no members to list at the moment.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •