jeg har lavet et program til win nt, som vi ahr på min skole, jeg bruger selv win98 på min egen comp programmet funker det fint men i nt siger den this program can only run in win32 hvordan kan man lave det om til at være et win16 porgram sådan at det kan køre i nt?
Delphi 1 lavede 16bit programmer der kunne virke under Windows 3.1 og 3.11 og samtidig under Win95. Fra Delphi version 2 og fremefter, laver delphi 32bit programmer som er den standard Win95 oprindeligt blev nygget til, og som hhv., Win98, Win NT og Win2K alle bruger.
I 16bit kan man kun tælle til 32767 hvorfor 16 bit programmer er begrænset af denne memorygrænse. Med lidt snilde kan man for positive tal få dette til at blive 64.000 som er den grænse for filstørrelser f.eks. Notepad under 95 har. Af samme årsag er en max. Diskstørrelse (pr. partition) 2gb.
Med 32 bit kan man tælle til 2.14 milliarder og derfor er der ikke længere nogen praktisk grænse for de fleste programmer.
Så det du vil for at kunne køre under NT er at lave 32 bit programmer.
NT kan dog godt køre 16 bit programmer (som mange dos programmer gør) men NT er udstyret med et styring der omdanner disse til 32 bit mens de kører således at de alligevel overholder NT minimums standard.
Men du vrøvler jo også selv lidt i dit spm. Du siger at fejlen siger at "i NT skal programmet køre under 32bit" og samtidig spørger du hvordan du kan ændre det til at køre 16 bit "således at det kan køre under NT."
Hvis du har lavet programmet i Delphi 1, som et 16 bit ville det normalt kunne køre under NT hvis du ikke har brugt direkte memoryadressering eller f.eks. port (I/O-porte) adgang. Hvis der er det i programmer vil det ikke køre under NT.
Find en Delphi 2 og kompiler programmer med den så vil det fungere fint under NT.
Som det er skrevet, med mindre du bruger Delphi1, så skulle det gerne være en 32 Bit application som du har fremstillet.
SJensen har ikke helt ret, men han er inde på noget rigtigt. En 16 bit variabel kan ikke håndtere værdier stårre end 65535. Man brugte dengang (hold da kæft hvor føler man sig lige pludslig gammel) 20 bit til at sammensætte en adresse. Men det er nu hverken de 16 eller de 20 bit (intern i maskinen) der begræser diskstørrelsen til 2 GB, derimod er det FAT'ens opbygning.
Jeg har ikke prøvet, men jeg tror da nok at NT kan køre 16 Bit programmer, dog ikke lige "så godt" som W95/98.
Synes godt om
Slettet bruger
23. marts 2000 - 22:23#4
mit program er en slags msg sender hvor den skriver : net send (brgeren man vælger) (beskeden man skriver) og så kører den filen i stedet for at amn skal ud i dos prompten og skrive det. jamen hvis den kan køre som i siger den kan hvorfor siger den så can only run in win32????
loc> net send kommandoen - er det noget dit program har rettigheder til at udføre på NT - det er nemlig, svjv, ofte her problemet er med win9x programmer der overføres til NT...
Synes godt om
Slettet bruger
26. marts 2000 - 13:34#6
kommandoen net send findes faktisk kun i nt og win 2k og mange af mine venner sender beskeder til hinanden fra en dos prompt så det har man adgang til
Hmm, og det program du kører - det har også rettigheder til det? Jeg har nemlig ikke 100% styr på hvordan rettigheder fungerer på NT/2K. Men ellers kan du da bare lave en bacth-fil der gør det samme :o)
I win95/98, hvis du angiver at parameteren til et program skal være -? så får du en box op hvor du kan indtaste command-line parametre - kombineret med ovenstående har du så en løsning på 2 linjer - hvilket da i hvert fald er overskueligt :)
Synes godt om
Slettet bruger
26. marts 2000 - 16:30#8
net send kommandoen findes ikke i win98/95 kun i 2k og nt og ja man kan bare lave en bat fil som så sender beskeden
Har desværre ikke styr på detaljerne i problematikken - men måske kunne du uploade din source til en eller anden server, og så paste URL'en her - så kunne man da lige se om der var noget man kunne få øje på...
kig på koden men ikke lige på layoutet da det ikker er færdigt.
Synes godt om
Ny brugerNybegynder
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.