Avatar billede janbb Juniormester
30. maj 1999 - 13:17 Der er 20 kommentarer og
1 løsning

Turbopascal-Delfi-konversion

Da der ikke er nogen kategorier med det
indrømmet lidt forældede turbo-pascal (7)-programmeringssprog føler jeg mig nødsaget til at oprette spørgsmålet her da delfi jo er (var ?) efterfølgeren der mest lingnede vores gamle kære turbo
(hulk).Mine turbo-programmer vil slet
ikke køre på den maskine jeg fik for ½/
til 1 år siden (windows 98).Faktisk mener jeg at nogen af programmerne
fungerede fint indtil jeg installerede delfi.Jeg kunne selvfølgelig prøve at afinstallere men der er jo sikkert en
anden forklaring.En slægtning jeg har
har osse en maskine af samme type, men
kører windows 97 og har ikke nogen problemer, jeg har dog ikke tænkt mig at nedgradere.På min gamle 486 havde jeg windows 97 og slet ingen problemer, så det må være noget med setuppet af windows.Håber nogen har nogen opklarende løsninger ellers må jeg specificere det lidt mere med de fejlmeddellelser der kommer blandt andet
men en af disse jeg kan huske er;

  "Error: division by zero"

  Og det mærkelige er at hvis jeg går ned og compilerer i turbo vers 3 er der
ingen problemer overhovedet.Men det er jo lidt tungt.
  Imidlertid lykkes kompileringen somme tider (ca hver 3 gang) men det kompilerede program vil altså ikke køre, men kommer med den nævnte kryptiske meddellelse.

      Sincerely yours Jan
Avatar billede cybles Nybegynder
30. maj 1999 - 13:24 #1
Windows 97 ??? uhmmm det må være en special version du hr fået fat i :-)
mener du ikke Windows 95 version 2 eller sådan noget `?
Avatar billede cyberesben Nybegynder
30. maj 1999 - 14:10 #2
eller en MEGET early beta af '98
Avatar billede janbb Juniormester
30. maj 1999 - 15:15 #3
jeg mener selvfølgelig windows 95
Avatar billede cyberesben Nybegynder
30. maj 1999 - 15:18 #4
ok
Avatar billede lrj Nybegynder
31. maj 1999 - 11:40 #5
Hvad laver dit program, og hvor går det ned?
Avatar billede janbb Juniormester
31. maj 1999 - 18:52 #6
Det er samtlige de mange forskellige
programmer jeg har lavet i årenes løb,
der ellers på tidligere maskiner/systemer har været velfungerende, som ved kørsel af det compilerede program allerede ved opstart
melder fejl.Vedbliver man med at forsøge at køre programmerne vil det nogen gange kunne lade sig gøre.Det skal bemærkes at programmerne er skevet til DOS og kører i et vindue af windows.
Avatar billede mukke Nybegynder
31. maj 1999 - 23:27 #7
Hmm.. lyder underligt...

Division er jo en gammel kending.... Kan det tænkes at have noget med den måde den laver beregninger på?

Hvis compileren er sat op til at bruge matematisk co-processer, så prøv at slå det fra (Så den emulerer det med software). Hvis den er sat til at emulere det, prøv at slå den til at bruge co-processoren.

Håber du forstår hvad jeg mener :)
Avatar billede janbb Juniormester
01. juni 1999 - 09:52 #8
Ja, jeg forstår det godt, men det kan ikke have noget at gore med selve beregningerne i programmet, da de jo
fungerer upåklageligt i andre sammenhænge.Iøvrigt er der ingen problemer med at "runne" programmet.
Jeg skal imidlertid nok prøve at lege
med de indstillinger du foreslår og
iøvrigt tak for interessen, men jeg må indtil videre afvise svaret som sandsynligt.Der er noget med windows-
versionen turbo-7 ikke forstår.(I gamle
dage var der tit gevinst ved og information til at fordele extended og
expanded memory, og det har jeg osse
overvejet at gå ind i setup og forsøge,
men det skulle jo være helt aut. med
real mode og hvad ved jeg.Det er alt for kompliceret).Og jeg kan selvfølgelig
tilføje at kører man i dos-mode er der heller ingen problemer, men det var jo
netop det jeg i mange år stræbte efter ikke at skulle (tilbage i 286-erens dage).Jeg er kort sagt hægtet af og er
lidt vemodig ved at skulle slippe et stort kartotek med mange sjove programmeringseksempler, hvilket som
nævnt en af mine slægtninge, der deler min turbo-lidenskab ikke har haft behov
for og den eneste forskel på vores
maskinopsætning og hardware er at han bruger windows 97.Han har osse lissom mig Delfi installeret.Vil osse forsøge
at reinstallere Delfi og se om det hjælper, men min lidenskab er som tidligere nævnt ikke stor nok til at jeg vil nøjes med windows 97.
Avatar billede lrj Nybegynder
01. juni 1999 - 10:16 #9
Du mener vel 95 eller 98, men det er ikke vigtigt.
Umiddelbart lyder det som om nogle compilerdirektiver får dit program til ikke at opføre sig særlig pænt i Windows. Og hvis koden generelt er lidt Dos-hack agtig, understøtter windows det sikkert ikke. Der er jo en del gamle dos-programmer der ikke virker under DOS...

Prøv evt. at give et konkret eksempel, så der er noget at arbejde med...
Avatar billede janbb Juniormester
01. juni 1999 - 10:46 #10
Ja selvfølgelig er der noget jeg har glemt at fortælle og det er nok mere sandsynligt at problemet centrerer
sig om denne programmeringsmæssige
spidsfindighed, men ellers er betingelserne nogenlunde nøjagtigt beskrevet:
følgende lille trik i min programmeringsteknik adskiller sig bl.a
fra den slægtning jeg nævner ikke har samme problem.Og desværre indgår denne
feature i de fleste af mine programeksempler og det er osse der curseren havner i første omgang under forsøg på fejlfinding:
Memo:    array[ 0..1 ] of
          record
            Scr:  array[0..24] of Columns;
            Extra: array[1..48] of integer;

          end absolute $B800:0000;

Dette lille triks med memo bruges til

  "at skrive direkte til skærmen"

og er altså noget min "nye" maskine
ikke vil spise.

  Det er svært for mig at fjerne denne
programmeringsingrediens fra mine programmer, da jeg brugte den gennem nogle år og udover at den er totaltinfiltreret i programmerne vil
de virke fattige og blodtomme hvis
de skulle genopbygges uden.
  Jeg ville selvfølgelig være meget
stolt over vise at et eksempel på en exe fil
jeg kan lægge ind som zip på en web-
side evt sammen med kildefilerne, men
det bliver nok ikke lige i dag (har
haft døgnvagt og er lidt for slap til den slags lige nu).
  Du spurgte hvad mit program laver:
Det er et skema hvor man udfylder nogle
talværdier og så regner det nogle ting
ud.Memodelen bevirker at resultaterne
skives ud på et defineret sted på skærmen, der således ikke ruller som
mere simple programmer (kan dog rulle
når man kommer til bunden af skærmen).
I virkeligheden skulle jeg jo prøve at
lave det i javascript, hvilket nok er meget nemmere, men det var altså ikke det der var spørgsmålet.  MVH Jan
jeg er ikke sikker på
Avatar billede lrj Nybegynder
01. juni 1999 - 10:51 #11
Det er jo trist, da det sikkert er fordi Windows ikke kan spise den form for tilgang til skærmen. Sker det også hvis du kører det i fuldskærm? I så fald er der nok ikke noget at gøre.

Der er dog et windows program (makecompat) eller noget i den stil, som kan bruges til at få gamle programmer til at køre under Windows - det ligger vistnok i System bibbet, ellers er det nok en del af de gamle powertoys... Let me know if you need it.
Avatar billede janbb Juniormester
01. juni 1999 - 11:20 #12
Kan slet ikke finde noget som helst nede i det bib i øjeblikket, men jeg er som nævnt osse lidt træt i dag.Og det med powertoys er jeg helt blank i.
Vil meget forsøge nogen af dine forslag
der lyder meget fornuftige, selvom det vil i den sidste ende vel kun vil betyde
at mine programmer kun kan køre på min
specielt konfigurerede maskine ?.(hvis det i bedste fald virkede).Jeg ved i øvrigt godt at selve problemstillingen
er lidt kontrær, fordi dossen nok ikke
er så interessandt for særlig mange.
Jeg har selvfølgelig osse prøvet at
lave det som en consolapplikation i Delfi, men her er problemstillingen
stort set den samme.Programmer uden memo
kører fint, men ikke mine memo-versioner.
Og det er bare svært at se i øjnene
at man skal til at starte fra scratch.
Men det skal I selvfølgelig ikke "lide
under".Så svært skulle spørgsmålet heller ikke være.Jeg kunne bare godt tænke mig at få indkredset HVORFOR.
Og jeg synes selv det er ved at dæmre lidt.
Avatar billede janbb Juniormester
01. juni 1999 - 18:20 #13
Iøvrigt er der osse en mulighed for at det skyldes carambolage med at man når man har både Delfi og turbo-pascal installeret "stjæler" Delfi Pas-fil
associationen på computeren (er der iøvrigt nogen der ved hvordan man kan
omgå det vil jeg godt ofre en snes point
på det).Jeg har iøvrigt kørt et af de
compilerede programmer der ikke virker
og der gives en fejlmeddellelse om
error 200 ved.. og så en adresse.
Iøvrigt synes jeg kørsel af delfiprogrammer tit får maskinen til at gå ned efter win98 er det en oplevelse andre Delfi-folk har ?.
Avatar billede mukke Nybegynder
01. juni 1999 - 19:41 #14
Runtime error 200 er jo netop division med nul

Hvordan man omgår filtyperegistreringer?
Jeg er ikke sikker på det er det du mener, men her er en mulighed:

Klik / dobbeltklik "denne computer".
vælg Vis || Mappeindstillinger.
vælg fanen Filtyper
Find nu den filtype du gerne vil lave om på. Du kan også tilføje egne...

(Microsoft har en mani med at flytte rundt på dette, så alt efter din version af Windows / Internet Explorer / Skrivebordsopdateringer mv. er det desværre ikke sikkert at det er der du skal finde det.

Håber det hjalp dig.
Avatar billede janbb Juniormester
01. juni 1999 - 20:45 #15
Detvar da en meget god idee, og da jeg ikke tror vi kommer hovedproblemet meget nærmere vil jeg gerne give dig de 60 points for ideen.
Avatar billede janbb Juniormester
01. juni 1999 - 20:48 #16
Så du skal bare klikke dig ind med svar
(har jeg ladet mig inf. om at man gør)
Og tak for deltagelsen.Man kan jo håbe på et par kommentarer hvis nogen måske har stødt på noget af lign. karakter.
Avatar billede mukke Nybegynder
01. juni 1999 - 21:52 #17
Jamen mange tak siger jeg da så...

Jeg er imponeret over nogen stadig lege med det gode gamle pascal :)
Avatar billede vpcln Nybegynder
15. juni 1999 - 15:26 #18
Fejlen "Div by 0" kommer i gamle turbo/borland pascal programmer hvis de afvikles på en maskine der er hurtigere end 200MHz Pentium. Det er en intern fejl i Borland's CRT Unit
Avatar billede vpcln Nybegynder
15. juni 1999 - 15:28 #19
Jeg glemte at sige der findes en gratis patch til at fjerne dette problem. Mail mig hvis du er interesseret.
Avatar billede janbb Juniormester
15. juni 1999 - 22:25 #20
Ja, det er jeg men jeg får ingen e-mailadr. af at klikke på vpcln, så
jeg kan kun skrive en kommentar her
indtil videre.
Avatar billede janbb Juniormester
19. juni 1999 - 21:05 #21
Memo:    array[ 0..1 ] of
          record
            Scr:  array[0..24] of Columns;
            Extra: array[1..48] of integer;

          end absolute $B800:0000;

  I virkeligheden er det ikke denne ingrediens, den ikke vil "sluge",
  Da jeg nylig har kunnet compilere en
reduceret udg. hvor denne metode forekom.Men at det skyldes en "ingediens"
er jeg ikke i tvivl om formentlig en
procedure med en funktion jeg kalder "scanasc".


  og det er denne var der driller
  som den ikke vil acc.:


    regs                      :registers;


  Er der nogen, der kender et alternativ til dette på de nymodens
maskiner: spm oprettet u Registeralternetiv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester