Update: I posted it first to the wrong list [sbs] and got no answer.
After playing around the last three day, I thought I found the problem:
getpid()
but after deleting the the debug-code I have the same problem:
concatenation of strings doesn't work.
the same code gives different results (I run memtest86 for 24 hours without
problems)
Hi All
I am fighting for a week now with a problem:
a variable in a BASIC program is changing itself.
I work with Universe 9.6 on Windows XP
I read a file, change the Field delimiter for each record and add it to an
other
variable und
write this over a socket to another computer if the length is over 1024.
The Important parts is after opening a file, doing a SELECT and reading the
SelectList as
idList
For I =1 TO RecCount
ImportID = idList(I)
READ ImportRec FROM aFile, ImportID
tResult=CHAR(19) : ImportID : @IM : CHANGE( ImportRec, @AM, @IM,
0, 1)
rResult := tResult
IF LEN(rResult) > 1024 THEN
GOSUB SendResult:
rResult = ''
END
NEXT I
So far so good: With nearly all if my files it is working perfect (45000 Record
with 450 Fields,
or 200000 Records with 60 Fields ). The biggest chunk is 600kByte ( this
database is not my
own development and I can't change it)
Now to the problem: A small file with 512 Records and 42 Fields is making
my troubles.
On the first run I get at least 2 faulty records (up to 10). If I survive this
problems, I can read it
50 times over and over without any problems.
For Debuging I write out with CRT: the ImportRec and the tResult and for
safety I made a
tmpVariable with the same formular as tResult and compare both:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
For example:ImportID=1162
ImportRec
Dicht. Puchmotor~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DE
tmpVariable:
1162Dicht. PuchmotorDE
tResult:
Dict. PuchmotorDE62116
or another example: ImportID=2471
ImportRec
Differential~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DE
tmpVariable: next 2 lines are one line
24712471Differential
tResult:
2471DifferentialDE
most of the time it hits the same record, but sometimes total others.
If the program survives this first round, I can run it endless without any
problem.
If it is crashing, it gives me a memory error at 0x000801a4 or 0xffffffff or
0x000c01da,
everytime with the instruction from 0x7c92103c.
Oh I forgot to mention: it is a phantom, after the crash the pid in Windows is
gone, but
Universe has it still in LISTU and I can LOGOUT the pid.
I changed the motherboard and the Ram to be sure to avoid a faulty memory
or chipset
errors.
Another fun: if I change the sequence of the CRT commands I get a
different output:
once I tried to calculate tResult bevor I printed the ImprtRec and found
ImportRec with an
extra letter in the middle and the length was exacty as it should be (the last
byte was missing)
Sometimes the tResult is filled with CHAR(19) : ImportID : @IM (up to the
real length)
Another: all the variables are Ok, but rResult gets a different tResult added
The faulty records can be everywhere, but I never had it at the beginning,
the two examples
are: 19 (the 3th after the SendResult) and 360 (the first after SendResult)
out of 512
Does anyone has a glue what is happening with this program?
--
Mani
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/