Newsgroup: it.comp.lang.pascal
Titolo: Problema con gli exe

Quando compilo un programma con il turbo pascal 7.0 e lo dò ad un'altra
persona via e-mail il programma compilato non funziona e dice run-time
error. Se invece lo faccio partire io funziona regolarmente, ma se rinomino
la cartella del turbo pascal non funziona più e mi dice BGI error. Vorrei
sapere come faccio ad eliminare questo problema.
Grazie mille per i vostri consigli
                        Mauro

L'errore dovrebbe risiedere nel processore. Mi spiego meglio.
La libreria CRT del TP7 crea il suddetto errore con processori superiore ai
200 MHz, tu probabilmente ne hai uno inferiore o uguale, mentre la persona a
cui lo invii ne ha uno di frequenza superiore così che si verifica il
suddetto errore. Non ricordo link di dove puoi scaricare la patch, comunque
sul NG al problema hanno risposto diverse volte.
Bye

Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto MAURO :
#Quando compilo un programma con il turbo pascal 7.0 e lo dò ad un'altra
#persona via e-mail il programma compilato non funziona e dice run-time
#error. Se invece lo faccio partire io funziona regolarmente, ma se rinomino
#la cartella del turbo pascal non funziona più e mi dice BGI error. Vorrei
#sapere come faccio ad eliminare questo problema.
Il primo problema e' probabilmente causato da un'incompatibilita'
delle unit utilizzate nella progettazione del programma, con i
processori su cui e' destinato a girare (run-time error 200).
Ci sono delle patch in rete che provvedono a risolverlo.
Il secondo e' dovuto al fatto di aver usato una cartella specifica nel
programma per utilizzare i driver .bgi (probabilmente "\tp\bgi") e
quindi rinominando la cartella, il programma si blocca.
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

quindi rinominando la cartella, il programma si blocca.
č vero, io uso "\tp\bgi" ma come posso fare per eliminarlo???
Se lo tolgo il programma non gira piů nemmeno sotto l'ambiente di sviluppo.


you wrote :
#Anche altre persone mi hanno detto questa cosa, ma dove posso trovare le
#patch???
In rete dovrebbero essere disponibili da piu' parti.
Forse qualcuno qui dentro puo' consigliarti un sito dove scaricarlo.
Altrimenti puoi cercarle in rete come "TP7 patch" o "TP7 bug fix".
#è vero, io uso "\tp\bgi" ma come posso fare per eliminarlo???
#Se lo tolgo il programma non gira più nemmeno sotto l'ambiente di sviluppo.
Devi utilizzare una stringa vuota :
InitGraph(..., ..., '') ;
e distribuire EGAVGA.BGI nel tuo pacchetto (oppure registrare questo
driver come binario nel programma) e metterlo nella stessa directory
di esecuzione.


 #patch???
ti consiglio di fare un salto da Inprise (ex Borland).....se poi sei proprio
disperato, allora fai un salto alla mia homepage: 
www.tiscalinet.it/drfalken
_____________________________________
Visita la mia homepage all'URL :
http://web.tiscalinet.it/drfalken
http://free.prohosting.com/~drfalken
Pascal, Assembler, Tips'n'Tricks per
Windows 9x, Software vario...
_____________________________________
Visit my homepage :
http://web.tiscalinet.it/drfalken
http://free.prohosting.com/~drfalken
Pascal, Assembler, Tips'n'Tricks for
Windows 9x, misc. Software...
_____________________________________

Il driver lo puoi anche linkare al programma se ti scoccia di darlo
separatamente, così eviti pure di dimenticarlo.
Converti il .BGI in .OBJ usando binobj.exe che trovi nella dir TP\UTILS la
cui sintassi è
BinObj SourceFile DestinationFile PublicName
Esempio : BinObj EGAVGA.BGI VGADRV VGAdriver
poi lo linki al programma usando questa sintassi
program prova;
{$L VGADRV.OBJ}
uses graph;
procedure VGAdriver; external;
Var
     DriverGrafico, ModoGrafico, Errore : integer ;
begin
    if RegisterBGIdriver( @VGAdriver ) >= 0 then
    begin
        DriverGrafico:=VGA;
        ModoGrafico:=VGAHi;
        InitGraph( DriverGrafico, ModoGrafico, '' );
        Errore:=Graphresult;
        if errore<>0 then
        begin
            { Altre istruzioni del programma }
            CloseGraph;
        end else begin
            writeln( 'Errore del driver grafico ',
GraphErrorMsg(  Errore ) );
        end;
    end else begin
        writeln( 'Errore del driver grafico ',
GraphErrorMsg(  GraphResult ) );
    end;
end.
Lo stesso si può fare per i font usando RegisterBGIfont al posto di
RegisterBGIdriver.
L'esempio riportato va in VGA 640X480 16 colori, ma si può usare qualsiasi
modalità, inoltre può essere linkato più di un driver, ovviamente le
dimensioni dell'eseguibile crescono.

Anche qui
http://www.geocities.com/SiliconValley/2926/tp_pat.html
Riccardo
--
Posted from 
ro...@diamante.diei.unipg.it
 [141.250.40.65]
via Mailgate.ORG Server - 
http://www.mailgate.org