Newsgroup: it.comp.lang.vo-clipper
Titolo: GPF (ancora)

Dalle molteplici informazioni raccolte non sono riuscita a trovare la
soluzione al problema GPF con clipper 5.2e e blinker3.30 e NetLib6 per un
prg in protect mode.
L'errore + frequente è:
BLX 1313 : exception error 0D .... e tutto il resto che ormai in molti
conoscono. Il bello è che in real mode non da errori!!!
Da quando è uscito il primo s.o. win95 vengono eseguite tutte le modifiche x
la configurazione della memoria (EMM386). I file di link non sono stati più
modificati. La dimensione dei file eseguibili è rimasta quasi la stessa.
Qualcuno ha trovato delle nuove risposte?
Standard  Link file:
# Spazio per settaggi particolari per il modulo,
# files .OBJ aggiuntivi, librerie.
#
# Nel File chiamante aggiungere FILE NomeSorgentePrincipale
# Nel File chiamante aggiungere BLI INCR <ON .. OFF>
  NOBELL
# -------
# 0k RAM di memoria estesa NECESSARIA per funzionare
# BLINKER EXECUTABLE REAL
# BLINKER EXECUTABLE DUAL
  BLINKER EXECUTABLE EXTENDED
# 100 Handles; Max 1024 KB Memoria Espansa
BLINKER EXECUTABLE CLIPPER F:100; E:1024; X:32
BLINKER INCREMENTAL OFF
  SEARCH BLXCLP52
# Gestione Errori
ECHO  Linking with My Error Handler (5.2x version) ...
ECHO      FILE MyErr52
# Moduli personali
ECHO *- Cifra5 + My_LIB
    SEARCH Cifra5X
    LIB    My_LIB
# ENDAREA
# --------
# FUNCky 2
# --------
ECHO  Linking with FUNCky 2 ...
ECHO  # SEARCH RootVX # RootVM # FUNRoot # * OVERLAY
# BEGINAREA
    LIB    FUNCky51
    LIB    FUNCkyVM # FUNCkyCL
    LIB    FUNCky2x # FUNCky2c
# ENDAREA
# Clipper
ECHO  *- CLIPPER Ver.: 5.2X                                   -*
# FILE ASUPP386               # Rimpiazza modulo di Clipper.lib (386+)
# FILE CLD.LIB                # per DEBUG in modalit. Protetta
LIB CLIPPER
# LIB CLD
# LIB ANSITERM
# LIB MOVTERM
# LIB PCBIOS
LIB TERMINAL
# BEGINAREA
# ---------------------- Index Drivers ---------------------
    LIB DBFNTX
    # LIB DBFCDX
    LIB DBFNDX
    # LIB DBFMDX
    # LIB DBPX
    # Deve SEGUIRE le librerie FUNCKy
    # -------------------------------
    LIB EXTEND
    # LIB RTLUTILS
    # LIB SAMPLES
# ENDAREA
# BEGINAREA
ECHO *- Protezione HardWare
#   FILE SKey2DRV
#   FILE CliLink
# ENDAREA
# SEGUE : Link per MONOUT | PEERPEER | NETWARE
Esempio x reti P2P:
# Sub-Link file per reti Peer-to-Peer.
#  versione per compilazione in modo protetto.
# --------------------------------------------
ECHO  Linking with NetLIB 6, Peer-to-Peer PROTECTED version ...
FILE CHECK52
SEARCH NL2B
SEARCH HORIZB
LIB NL252
LIB NLEXT52
LIB HORIZ52
# Controllo disponibilita' minima di memoria
FILE MSGPROT

LIB HORIZ52
Per quanto mi risulta, la riga con SEARCH HORIZB č da eliminare,
essendo stata sostituita da LIB HORIZ52.
Potrebbe anche essere utile linkare il file xvm.obj, sempre da Netlib.
ciao

modificati. La dimensione dei file eseguibili č rimasta quasi la stessa.
Non conosco la NetLib, ma molto probabilmente l'errore e' provocato da
un tentativo di scrittura in un'area di memoria riservata (tipicamente
la BIOS DATA AREA).
In ambiente DOS non veniva effettuato alcun controllo su questo tipo
di operazioni, in Windows si.
Se il problema e' questo, la soluzione e' ottenere una versione
aggiornata della LIB o in alternativa non usare la funzione che genera
la GPF.
ciao, acc.   
a...@libero.it

 Potrebbe anche essere utile linkare il file xvm.obj, sempre da Netlib.
Ok, provo subito ad linkare questo obj. Puoi dirmi esattamente a cosa può
serve?
Grazie x i consigli.


Purtroppo non sono riuscita a capire quale possa essere la LIB che da
l'errore, in quando è casuale. La maggior parte delle volte esce
sull'operazione di SET INDEX TO nomefile ADDITIVE dopo aver aperto il DBF.
Ho pensato all'indice rovinato (in questo caso NDX) ma non è così.
Grazie farò ancora delle prove

serve?
corregge l'ERROR /11 - _VGRAB, un errore random di Netlib...
per maggiori info, visita 
www.netlib.com
 e consulta le Faq...
come ti accennava acc, il problema risiede nella procedura che ti dà
l'errore.
Non pensare immediatamente al SET INDEX TO, ma verifica, magari
isolandolo, il codice che precede questa operazione.
Se non trovi nulla, allora concentrati su quel file e sul set index...
a quel punto, vedi se puoi ottenere lo stesso risultato servendoti di
un approccio diverso (che si traduce in istruzioni e codice diverso)
ciao