Information générale
Catégorie:
Codage, syntaxe et commandes
>>>>To verify that:
>>>>1. Take a small dbf, 2-3 records, 2-3 fields. (Small enough to fit into memory.)
>>>>2. Run SELECT *, .t. AS Dummy FROM MyTable INTO CURSOR TempRes NOFILTER
>>>>3. ? DBF() && returns a valid temp file name.
>>>>4. ? FILE(DBF()) && returns .f.
>>>>5. USE (DBF()) AGAIN && Gives an error because the temp file doesn't exist.
>>>
>>>Vlad, I cannot duplicate the failure. For example, given a 10 record table with 2 columns, each of length 5 characters. I have 80 meg of memory on my machine, so I think the table is small enough to fit into memory:
>>>
>>>select * from SmallTbl into cursor SmallCursor nofilter
>>>use (dbf("SmallCursor")) again in 0 alias NewCursor
>>>use in Select("SmallCursor")
>>>sele NewCursor && This is a now read-write cursor with 10 records.
>>>
>>>This works just fine. BTW, I'm using 5.0a.
>>
>>This is kinda weird. I'd like to know why this works for you and not for all the others that tried it!
>>
>>I'm using also 5.0a. What's the date of the product in the About window? What OS are you using?
>>
>>Vlad
>
>Vlad, I'm switching thread-segments here to connect up with Mark's code. The problem is that sometimes VFP finds the code just fine, as Mark found. I think that VFP and WIN95 (never tested any of this on NT) share all the information on temporary files, and that sometimes they connect correctly and sometimes not. Commands that look like they're behaving the same, don't really.
>
>For example, USED() uses the alias, not the filename, so USED(dbf()) won't work reliably on a cursor, and FILE() flat out says the cursor doesn't exist.
>
>In my case, the problem was with APPEND. VFP needed a specific on-disk file to append from, and I didn't have one. USE .... AGAIN seems to work correctly, whether the file is on-disk or not.
>
>Barbara
You're right and I found out what I was doing wrong: I tried always:
use (dbf()) again alias blabla
instead of
use (dbf()) again in 0 alias blabla
So, the cursor was closed just before opening it again... Thanks to Frank and Barbara for opening my eyes. :)
Still, the bug is there even if this works. :(
Vlad
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement