clipper.1033cinfo,
Da lise neko igrao sa novim indexima Clippera 5.2 ?
Probao sam nest ovto ovako:
set order to 1 // on sif_grada
seek 'BGD'
index on sif_grada into bgdindex rest while sif_grada = 'BGD' ;
for sif_grada = 'BGD'
To bi trebalo kreirati potpuno isti indeks kao i
index on sif_grada into bgdindex for sif_grada = 'BGD'
samo sto je daleko brze. I radi. Skoro.
Naime, stvarno kreira indeks kao sto i treba, ali kad mu probam dodati
novi slog (zgodno za BROWSE) potpuno podivlja. U NG-u pise da je jedina
razlika izmedju ove dvije varijante u, cini mi se, sestom bitu jednog bajta
u zaglavlju. Jel' neko probao da ga "rucno" prepravi tako da izgleda kao da
nije privremeni?
clipper.1034nbatocanin,
Vidim da se dosta ljudi zainteresovalo za SIx RDD posle teksta u
Računarima. Interesovanje je zaista razumljivo, jer se radi o
vanserijskom proizvodu velikih mogućnosti. U novim Računarima će
takođe biti reči o novoj verziji SIx drajvera, koja ima veoma
značajne izmene u odnosu na verziju 1.1c. Što se tiče mogućnosti, one
su zaista fascinantne i o tome možete pročitati u Računarima. Ono što
bih ovde napomenuo je da svakako treba nabaviti verziju SIx drajvera
koja podržava NSX indekse. Naime, SIx drajver se sada prodaje u dve
varijante: jedna podržava standardni FoxPro DBF/CDX/FPT format, a
druga radi po internom formatu DBF/NSX/SMT koji je projektovan da
izvuče maksimum iz SIx RDD-a. Na žalost, ova druga verzija nije još
stigla do nas, ali bi je svakako trebalo nabaviti.
Sledeća važna napomena se odnosi na probleme: od sitnijih stvari SIx
RDD će vam praviti veoma male komplikacije oko prepravki starih
programa: veoma malo standardnih funkcija je izmenjeno. U principu,
trebalo bi da samo linkovanjem vaš program proradi sa SIXCDX
drajverom. Međutim, problem je memorija: SIx traži znatno više
memorije od DBFNTX drajvera (što je razumljivo). Korišćenje sa
RTLinkom je skoro nemoguće: on ne stavlja ASM module u overleje i
tako rezultujući program traži mnogo više memorije. Rešenje je
Blinker: on može i ASM module da stavlja u overleje i program odlično
radi sa veoma malo memorije (primer: EXE od oko 1MB se izvršava sa
oko 400K RAM-a i to se još može smanjiti.). Na žalost, tu se javlja
jedan veliki problem: kada sam u svoje programe ubacio SIx drajver,
program je počeo da iskače sa greškom VM integrity failure. U čemu je
tačno problem, teško je reći. Moguće je da je reč o nekom sukobu
između Blinker-a, SIx drajvera i Clipper-a 5.2, ali je to u principu
svejedno: za sada je dosta riskantno koristiti ovu kombinaciju i
mislim da treba sačekati nove verzije, jer je ovaj bag uočljiv i
mislim da će ga brzo ispraviti. Po ranijim iskustvima mislim da je
problem u Blinker-u.
clipper.1035ndragan,
-> #1019, nbatocanin/ vreme pisanja programa. Gde koristiš ovo gore?
Pa, upravo je danas zatrebalo Tibiju (TArva na Sezamu, mislim da mu je
istekla pretplata). Napisao je jedan duži dijalog za generisanje uslova
pomoću kojeg se dobija probran skup slogova iz neke baze, i onda radi
ovo:
Select * from (_baza);
Where &uslov;
into cursor trtmrt
Browse
Itd, tu se još definiše nekakav pendžer u koji ide brauz itd. U
promenljivoj Uslov je sadržan tekst uslova kakav bi se pojavio u
programu, recimo ' datum < š31.12.93ć and broj between 13 and 145 and
...' i tome slično, što je napravio onaj prvi dijalog. Ispalo je da je
preterao, promenljiva Uslov je duža od 256 bajta, što je granica za
raspakivanje makroa.
Onda smo stvar preuredili ovako
sy = 'se'+alltrim(sys(2007,uslov))+'.prg' && izmisli ime
if !file(sy) && ako ga već nismo napravili
set alte to (sy)
set alte on && onda da ga napravimo
set cons off
?' Select * from (_baza);'
?' Where',uslov,';'
?' into cursor trtmrt'
set cons off
set alte off
set alte to
comp (sy) && kompajliraj ga
endif
do (sy) && i izvedi
Sys(2007,<cExp>) daje nekakav čeksum od drugog parametra, taman dovoljno
da se raspozna da li se isti sadržaj parametara već pojavljivao.
Razlog da radim ovakve stvari je da zaobiđem češće raspakivanje istih
makroa - čemu, ako istom lakoćom mogu da izgenerišem programče koje će
ih sadržati raspakovane i kompajlirati samo jednom, i u ovom slučaju, da
izbegnem ograničenje na dužinu makroa.
U originalnom primeru nije bilo ispisa sa Set Alternate, nego u stvari
ovako
set text to (sy)
set text on
set cons off
Đ Select * from (_baza);
Đ Where <<uslov>>;
Đ into cursor trtmrt
set cons off
set text off
set text to
Ono Đ na početku linije je ascii 92, tj beksleš (vidim ga kao Đ, ali mi
ne smeta). Najlepše od svega je što su prerada i testiranje rutine da
radi ovako trajali dva do tri minuta (okačio torbu o rame i krenuo
nekud, pa sve s nogu i ne skidajući ono s ramena). Najduže je trajalo
dok smo u helpu pronašli koji ono sys(200* ) daje čeksum ;).
Bue_ Ndragan
clipper.1036snemcev,
-> #1034, nbatocanin>> jedan veliki problem: kada sam u svoje programe ubacio SIx drajver,
>> program je počeo da iskače sa greškom VM integrity failure.
Simptomatično je da se ova greška mnogo češće javlja na 386 mašinama
nego na 286 -- otprilike 1:100, a možda i više. Zašto? Samo nebo zna...
clipper.1037dvesic,
-> #1036, snemcev>> Simptomaticno je da se ova greska mnogo cesce javlja na 386
>> masinama nego na 286 -- otprilike 1:100, a mozda i vise.
>> Zasto? Samo nebo zna...
Dajte jos informacija !
Da li je to SixCdx 1.5 sa ili bez Uprade-a sa Sezama ?
Koji (da li) memory.menager je prisutan ?
Ima li Double Space ? Koristi li se Stealth DblSpc od Qemm-a ?
A Stacker ?
itd, itd...
Koji kod greske javlja ? (ima ih vise VM Int Fal)
clipper.1038nbatocanin,
-> #1033, cinfo> Jel' neko probao da ga "rucno" prepravi tako da
> izgleda kao da nije privremeni?
šta ćeš time dobiti? Za mnogo komotnije operacije za indeksima
preporučujem SIx :)
clipper.1039dzoric,
Hi, pisem On Line. Sto se tice gresaka SIx RDD-a tice,
problem sa VM Integrity Failure sam nekako izbegao
koristeci FUNCKY II Lib, i to MFUNCkyVM.LIB, koji po
NG-u bolje hendla VM od Clipper-a.
Probajte kombinaciju SIx, Funcky, Blinker 3.0.
Pozdrav,
Dejan.
clipper.1040dzoric,
OOOOOOOOOOOOHHHHHHHHH NEEEEEEEEEEEEEEEEE
Ipak definitivan bug ( or feature ) SIx RDD-a.
I pored FUNCky-ja program je pukao sa cuvenim
VM Integrity Failure.
Steta, velika steta......
Dejan.
clipper.1041snemcev,
-> #1037, dvesic>> Da li je to SixCdx 1.5 sa ili bez Uprade-a sa Sezama ?
Verzija 1.5 sa upgrade-om.
>> Ima li Double Space ?
Ne.
>> Koristi li se Stealth DblSpc od Qemm-a ?
Ne. Nikakvi programi za kompresuju "u letu" nisu prisutni.
>> Koji (da li) memory.menager je prisutan ?
Qemm 7.01
>> Koji kod greske javlja ? (ima ih vise VM Int Fal)
E ovo stvarno nisam zapisivao. Da li ga uopšte ispisuje? Znam da dâ neku
levu adresu u zagradi, ali kod greške...
clipper.1042snemcev,
-> #1039, dzoric>> Probajte kombinaciju SIx, Funcky, Blinker 3.0.
Prva i treća stavka su tu, ali Funcky... Jesi voljan za razmenu?
clipper.1043dr.grba,
-> #1040, dzoric>> Ipak definitivan bug ( or feature ) SIx RDD-a.
>> I pored FUNCky-ja program je pukao sa cuvenim
>> VM Integrity Failure.
Opiši uslove pucanja, da pokušamo da rekonstruišemo. Mašina,
okruženje, broj baza i veičina,....
clipper.1044dzoric,
-> #1039, dzoricEvo, ovako izgledaju moja iskustva sa SIx RDD-om.
U postojecu aplikaciju za knjigovodstvo sam ulinkovao
SIx čisto probe radi. Posle početnog oduševljenja i
izbacivanja iz koda gomile SKIP funkcija za TBrowse
prikaze i uvođenjem SET SCOPE klauzula (CDX indekse
neću ni da pominjem) program je počeo s'vremena na
vreme da puca sa porukom "VM Integrity Failure" :(((
i u zagradi da adresu gde se zablesavio.
Posle mnogo testiranja, izbacivanja QEMM-a 7.03, raznih
kombinacija BLINKER 3.0 Script fajlova, dešavalo se isto.
Kad sam već bio kod unapređenja aplikacije izbacio sam
NANFOR.LIB i ubacio FUNCky II za koji tvrdim da je jedan
od najboljih LIB-ova za Clipper. FUNCky je na 5 X 1.44
i uz gomilu primera i dodatnih alata kao sto je FPATCH
pandam PATCH-u dobija se izvorni kod LIB-a + NG od oko
3 Mb. LIB ima istovetne funkcije za Clipper i za C.
Unutar FUNCky-ja postoji i FUNCkyVM.LIB koji se obavezno
linkuje i koji po dokumentaciji bolje resava Virtual
Memory.
Elem, posle linkovanja FUNCky-ja program nije više pucao
i izdržao je 7 dana intenzivnog testiranja. Ali osmi dan
ponovila se ista stvar :(((. Ipak sumnjam u SIx, jer je
već imao problema sa Blinker-om.
Linkovanje sa RTLNIK-om ne dolazi u obzir kod vecih aplikacija.
Jedino ako neko ima RTLINK PLUS (koji radi overleje C i ASM koda)
pa da probamo.
Posle svega smatram da je SIx RDD najbolji proizvod koji
sam imao prilike da koristim i pored toga što jede memoriju
i ovoga BUG-a, ali više ga niko ne izbaci iz mojih aplikacija.
Sve dodatne informacije o FUNCky.LIB-u (razmena, itd.) na MAIL.
Pozdrav,
Dejan :)
clipper.1045dzoric,
Po poslednjim informacijama od dsisic-a postoji
PATCH br. 2 za SIx RDD koji mozda resava nase probleme.
Ima izgleda da stigne u nase krajeve sledece nedelje.
Dejan.
clipper.1046neman,
-> #1036, snemcev>
> Simptomaticno je da se ova greska mnogo cesce javlja na
> 386 masinama nego na 286 -- otprilike 1:100, a mozda i
> vise. Zasto? Samo nebo zna...
Da, na mojoj 386 se javlja ta greska, ali sam do sada to pripisivao
recimo sukobu sa kes programom ( PCKWIK ), nisam posvecivao vise paznje
tome.
BTW, da se nadovezem na nbatocanina, sada nema onog groznog pisanja
skipkey bloka za TBrowse, vec kazem SET SCOPE i pici. A WILDSEEK je
posebna poslastica :), bas sam napisao takvu rutinu koja analizira
uneti podatak i radi trte mrte. Zaboravio sam na taj modul :)
Ostaje samo pitanje brzine. Naime, indeksiranje ( konkretnih ) baza
traje nesto duze a zauzvrat dobijam indeksnu datoteku 2-4 puta kracu,
a sama SEEK naredba je i dalje sporija od NTX-a.
Zbog toga bi trebalo razmotriti :) taj NSX drajver. Medjutim, samo
prethodne pogodnosti umanjuju ovaj problemcic.
A tek sto mi padaju na pamet mogucnosti koriscenja RYO indeksa, ali
otom poto(p) :)
I jos nesto glede clanka. Pominjes Advantage RDD koji izvrsava obradu
nad indeksima ( bazi ??? ) na samom serveru. Takav pristup mi je sumnjiv
jer zahteva valjda mnogo mocnije servere na mrezama nego sto je to kod
obicnog ;) deljenja resursa, i tu bi trebao da se vidi odnos brzine/cene
takve realizacije.
neman
clipper.1047dvesic,
-> #1041, snemcev>> Qemm 7.01
Uradi upgrade na 7.03. To ce resiti deo problema.
Ako te ne mrzi, posalji mi :
- AUTOEXEC.BAT
- CONFIG.SYS,
- ispis od MEM /C (ili od nekog drugog programa za raspodelu
memorije)
- informaciju o inicijalnim zahtevima programa za memorijom
(Ono sto RTlink/Blinker jave na kraju u zagradama)
- Ako imas sors programa koji pravi probleme, postavi mu kao
prvu izvrsnu liniju jedno WAIT "", pa program startuj sa
APP.EXE //INFO pa mi i to posalji
ako te mrzi, onda nista :)))
clipper.1048dvesic,
-> #1044, dzoricDa li su svi koji imaju problema sa SIx & VM uradili
upgrade sa Sezama ?
Mozda je potreban jedan DownUpGrade na originalnu verziju ... :))
Meni programi radjeni sa cistom 1.5 jos nisu (cuk, cuk) pucali
na ovaj nacin, dok me je jedan skoro menjan u firmi bas danas lepo
obradovao :(
clipper.1049dr.grba,
-> #1047, dvesic>> prvu izvrsnu liniju jedno WAIT "", pa program startuj sa
>> APP.EXE //INFO pa mi i to posalji
Šta znači ovo //INFO? Je li ovo neki Clipper hint???
De, da probam...
...
Gle, vraga.... GDE JE OVO BILO DOSADA???
clipper.1050bulaja,
-> #1045, dzoric│Po poslednjim informacijama od dsisic-a postoji
│PATCH br. 2 za SIx RDD koji mozda resava nase probleme.
└───
Izgleda da se sprema i SIx 2.0 :). U katalogu dobijenom od nekog USA
software dilera već se prodaje i SIx v1.5 sa besplatnim upgrade-om na
verziju 2.0. Takodje izgleda da će skoro izaći i FUNCky 3. Btw da li je
neko ovde video na delu ExoSpace ili neki GrumpFish Lib?
clipper.1051nbatocanin,
-> #1036, snemcev>>> jedan veliki problem: kada sam u svoje programe ubacio
>>> SIx drajver, program je počeo da iskače sa greškom VM
> integrity failure.
>
> Simptomatično je da se ova greška mnogo češće javlja na
> 386 mašinama nego na 286 -- otprilike 1:100, a možda i
> više. Zašto? Samo nebo zna...
Ne bih rekao: meni je sa skoro istim procentom program iskakao na
286/12MHz.
clipper.1052nbatocanin,
-> #1037, dvesic> Dajte jos informacija !
> Da li je to SixCdx 1.5 sa ili bez Uprade-a sa Sezama ?
1.5a. Clipper 5.2c, Blinker 2.01 ili 3.0 svejedno. Probano na raznim
mašinama, javljalo se i na klot DOS 3.31, a o 5.0 + QEMM da i ne
pričam... Dakle, nema veze sa drugim programima.
> Koji kod greske javlja ? (ima ih vise VM Int Fal)
Nema ga u spisku: "VM integrity failure".
clipper.1053nbatocanin,
-> #1046, neman> I jos nesto glede clanka. Pominjes Advantage RDD koji
> izvrsava obradu nad indeksima ( bazi ??? ) na samom
> serveru. Takav pristup mi je sumnjiv jer zahteva valjda
> mnogo mocnije servere na mrezama nego sto je to kod
> obicnog ;) deljenja resursa, i tu bi trebao da se vidi
> odnos brzine/cene takve realizacije.
Pa to je klasična klijent - server organizacija. Rekao bih da
performanse zavise od obrade: može se lako desiti da posao oko
prosleđivanja podataka bude značajno veći od operacije koju treba
obaviti! Na žalost, o ovom drajveru sam pročitao svega nekoliko
rečenica i nisam imao prilike da isprobam. Mada, svakako deluje
izuzetno interesantno.
clipper.1054nbatocanin,
-> #1048, dvesic> Mozda je potreban jedan DownUpGrade na originalnu verziju
> ... :))
Ne, ja sam imao istih problema sa čistim 1.5. Na žalost, upgrade nije
doneo poboljšanje. A nije da se nisam nadao :(
clipper.1055neman,
-> #1049, dr.grba> Gle, vraga.... GDE JE OVO BILO DOSADA???
U uputstvu ;)
neman
clipper.1056neman,
-> #1053, nbatocanin> obaviti! Na zalost, o ovom drajveru sam procitao svega
> nekoliko recenica i nisam imao prilike da isprobam. Mada,
> svakako deluje izuzetno interesantno.
Ta informacija ide iz nekog biltena ( gde ima slika i Visual Objects-a ),
pa posto je sve to u koloru, pretpostavljam da spada pod ono
"svaki ciga svoga konja fali". Inace i u Blinker reklami nema "VM ... " ;)
neman
clipper.1057neman,
-> #1050, bulaja> ovde video na delu ExoSpace ili neki GrumpFish Lib?
Ja sam imao neki stari GrumpFish. Svidela mi se ona slagalica brojeva
( 1 - 15 ) ;)
neman
clipper.1058snemcev,
-> #1047, dvesic>> Uradi upgrade na 7.03. To ce resiti deo problema.
Radio sam x puta, ali 7.03 mi pravi probleme sa VGA karticom (Trident
8800 (ili beše 8900, koja li je bila aktuelna '90-te kad sam kupovao
računar?)) po izlasku iz nekih programa sve boje su crne. Ništa, osim
reseta, ne pomaže. Baš mi se ne mili da posle svakog startovanja više se
i ne sećam kojih programa radim reset.
clipper.1059dvesic,
-> #1058, snemcev>> Radio sam x puta, ali 7.03 mi pravi probleme sa VGA karticom
>> (Trident 8800 (ili bese 8900, koja li je bila aktuelna '90-te
>> kad sam kupovao racunar?)) po izlasku iz nekih programa sve
>> boje su crne. Nista, osim reseta, ne pomaze. Bas mi se ne mili
>> da posle svakog startovanja vise se i ne secam kojih programa
>> radim reset.
Ima gomila parametara koje mozes da pokusas pre nego sto odustanes :)
Ne secam se tacno, ali NV (NoVideoFill) ili NVR (NoVideoRam)
ili VIDEO bi na liniji QEMM386.SYS u Config-u mogli da pomognu
Mozes detalje da potrazis u TECHNOTE poddirektorijumu.
clipper.1060snemcev,
-> #1059, dvesic>> Mozes detalje da potrazis u TECHNOTE poddirektorijumu.
Mislim da ću za detalje zloupotrebiti i tvoj mail ;)
Tnx in advance. Imaš piće u Kikindi...
clipper.1061bstevan,
Zdravo !
Interesuje me gde se može nabaviti LIB - menadjer,
i koja je cena.
Dali postoji neki SW/PD LIB - menadjer i dali ga ima
negde na SEZAM-u ?
---BSTEVAN---
clipper.1062bstevan,
Interesuje me dali ima neko funkciju za ispitivanje
dali je disketa stavljena u drajv A ili B.
Funkcija bi trebala da je pisana u S87'.
---BSTEVAN---
clipper.1063bulaja,
-> #1062, bstevan│Interesuje me dali ima neko funkciju za ispitivanje
│dali je disketa stavljena u drajv A ili B.
│Funkcija bi trebala da je pisana u S87'.
└───
Slao sam nekad davno (mislim da je tada S87 još uvek bio šire
aktuelan:) trik za otkrivanje da li je disketa u drajvu odnosno
ili da li postoji hard disk particija (valjda ga je u Dejan bio
objavio u Bajtovima...).
LM, samo pozovi funkciju DiskSpace() za zeljeni drajve (A: = 1,
B: = 2,...) i ako ti vrati neku razumnu vrednost onda je disketa
u drajvu odnosno posoji HD particija, a ako javi neki nenormalan
broj (reda nekoliko Gb slobodnog prostora na disketi:) onda nema
diskete u drajvu.
clipper.1064nbatocanin,
-> #1056, neman> Ta informacija ide iz nekog biltena ( gde ima slika i
> Visual Objects-a ), pa posto je sve to u koloru,
> pretpostavljam da spada pod ono "svaki ciga svoga konja
> fali". Inace i u Blinker reklami nema "VM ... " ;)
čitao sam u nekoliko novina, ali su uglavnom bile vesti, pa je teško
nešto preciznije reći. Međutim, ideja mi se svakako sviđa.
clipper.1065dpredovic,
-> #1044, dzoric> Unutar FUNCky-ja postoji i FUNCkyVM.LIB koji se obavezno
> linkuje i koji po dokumentaciji bolje resava Virtual
> Memory.
Meni se čini da je fazon da funckyvm _koristi_ VM, a ona druga
(funckycl) ne, da bi bila kompatibilna sa S87.
Inače, koliko odvajate za stack? Ja sam bogami sa funcky i six-om
dogurao do lepih 15k.
Cu, Dejan
clipper.1066dpredovic,
-> #1049, dr.grba> Šta znači ovo //INFO? Je li ovo neki Clipper hint???
>
> De, da probam...
>
> ...
>
> Gle, vraga.... GDE JE OVO BILO DOSADA???
A tek //SWAPTRACE... Možda bi moglo biti korisno povodom cele ove
priče?
Cu, Dejan
clipper.1067dr.grba,
-> #1066, dpredovic>> > Gle, vraga.... GDE JE OVO BILO DOSADA???
>>
>> A tek //SWAPTRACE... Možda bi moglo biti korisno povodom cele
>> ove priče?
Jel' može neko da baci sve ove prekidače?
clipper.1068snemcev,
-> #1065, dpredovic>> Inače, koliko odvajate za stack? Ja sam bogami sa funcky i six-om
>> dogurao do lepih 15k.
Kako odvajaš prostor za stack? Zar to VM sistem ne radi sam?
clipper.1069bstevan,
-> #1063, bulaja>>> LM, samo pozovi funkciju DiskSpace() za zeljeni drajv (A: = 1,
>>> B: = 2,...) i ako ti vrati neku razumnu vrednost onda je disketa
>>> u drajvu odnosno postoji HD particija,
Hvala, to mi rešava problem.
---BSTEVAN---
clipper.1070dpredovic,
-> #1068, snemcev> Kako odvajaš prostor za stack? Zar to VM sistem ne radi sam?
U Blinkeru sa STACK komandom, sa rtlinkom ne može, ali može naknadno da
se "prevari" sa exehdr. Inače stack je jedna od lepih stvari kojima ni
VM ni protected mode ne pomaže. žak i windowsi u 386 modu imaju stack od
64K.
Koliko sam primetio, kod clipper-a stvar stoji ovako: postoje DVA steka
- normalni, mašinski stack i eval stack tj. clipperov interni stack na
kojem on (u osnovi stack interpreter) izračunava izraze. Za to je
odvojen DS segment koji pored ta dva stacka izgleda sadrži i
compile-time inicijalizovane statičke promenljive.
Ergo:
1. ako vam program pravi nepredvidljive probleme povećajte stack
2. ako dobijate grešku eval stack fault i sl, smanjite stack
3. ako ste uradili 2., pa vam se javlja 1., UNDO & statičke
promenljive inicijalizujte run-time
Ako ne funkcionise nijedna varijanta, ostaje:
4. objasnite korisnicima sve mane PC tehnologije, kukajte na
nesavršenost alatki, plačite nad segmentnom arhitekturom itd. ;)
Cu, Dejan
clipper.1071dzoric,
-> #70, ndraganA ako mi javi "Internal Stack Overflow" i pri tom
mi unisti FAT.
Dejan.
clipper.1072goxx,
Imam jedno pitanje. Počeo sam da radim podsistem za štampu. Ispis
svega što postoji u aplikaciji treba da ide preko jedne rutine. U stvari,
sve se upisuje binarno u fajl. I štampač se otvara kao fajl (PRN).
Problem je (banalno gledano) sledeći :
#include "FileIO.Ch"
#define CRLF CHR(13)+CHR(10)
FUNCTION Main()
LOCAL stampac := FOPEN("PRN", FO_WRITE)
FWRITE(stampac, "Neki tekst koji se stampa" + CRLF)
FCLOSE(stampac)
RETURN NIL
Funkcija FWRITE() radi normalno kada je štampač spreman za stampu.
Medjutim problem nastaje kada se štampač stavi off-line. Tada, funkcija
jednostavno čeka da štampač bude spreman. Očekivao sam da se funkcija
prekine i vrati broj upisanih bajtova (manji od dužine stringa) i da se
kasnije funkcijom FERROR() dobije neki kod greske.
Da li postoji neki način da se ovo zaobidje, i da se ispita kada je
štampač nespreman.
Unapred zahvaljujem na svim odgovorima i konstruktivnim savetima.
Goran.
clipper.1073mpeti,
cao narode !
Ovo pišem on-line pa mi ne zamerite za loš izgled teksta.
Možda je već prošo voz, ali samo da kažem moja iskustva o kombinaciji
DBFSIX, Blinker. Koristim DBFSIX (v1.1) :( jer još nisam nabavio 1.5.
I meni je često ispadao sa VM Integr.... grrrrrrrr :(.
Posle nekog čačkanja sa u DBFSIX.lnk forsirao module SXINDEX i SXSETHI u root
(skinuti tarabe sa početka redova gde se ovi navode) i posle toga mi je sve
lepo radilo. Nisam još radio sa 1.5 ali možda nekome ovo da ideju, pa probajte
da experimentišete.
Uzgred ima li neko iz Subotice, Novog Sada, Zrenjanina, Sombora ili Kikinde a
ima SixCDX drajver. Molio bih dobru dušu koja je voljna za neku trampu da mi se
javi na mail ili na (024) 26-618.
Pozdrav MPeti
clipper.1074zizo,
Neko ovde reče da se FoxPro *.APP fajlovi ne isplate zipovati,
jer se ništa ne može uštedeti.
To je slučaj ako su fajlovi pravljeni sa ENCRYPT(ED) opcijom.
U tom slučaju zip ih komprimuje sa uštedom od 0-1%.
Ali ako se ne navede ENCRYPT dobijaju se fajlovi koji su
u bajt iste dužine a stepen kompresije je i do 75% (25% orig.).
Kako sam ovo otkrio?
Trebao sam da modemom prebacim izmenjenu verziju programa
korisniku, kad vidim stepen kompresije kod ZIP-a 1%. Znam da ZIP-ovan
fajl treba da bude 3x kraći od originala, a oni skoro jednaki u bajt.
Poverujem, u prvom trenutku, da sam došao do epohalnog otkrića
da: ili je ZIP-u istekao period registracije pa zajebava (šta ga znaš)
ili ga je Fox navuko da pobrljavi.
Tek kasnije se setim da sam se opet zezao sa encrypt.
Da remiziramo:
FoxPro kod enkriptovanja dobije fajl koji je u bajt iste
dužine kao ne enkriptovani, samo što se umesto imena varijabli i
sadržaja konstanti, koje ima izvorni kod, pojavljuju tzv. KIKE (Kuke I
KvakE) koje se ne mogu komprimovati.
U ovom slučaju meni više odgovara 3x manji prenos nego što
će neki haker da mi "razbije" program.
Pozdrav
█ █ █ █
▄▄█ █ █▄▄ █▄▄
clipper.1075solomus,
Znate šta !
Iza mene je četiri godine Clipper-a, gomila uradjenih projekata, trenutno
za jedno veliko osiguravajuće društvo radim glavne aplikacije sa bazama
od par stotina hiljada rekorda a vi meni tako ! :)
Molim ? Kako šta vi meni tako ?
Pa, evo šta. Godinu dana me nema na Sezamu, pokupim lepo celu temu u rikverc
i čitam, čitam i lepo, tu i tamo, nemam pojma o čemu pričate.
Pored vas nekoliko *referentnih* Clipper-aša se pogotovo osećam kao malo dete !
Šalim se, naravno, potrčaću malo pa će vas stignem :)).
E, i još nešto.
Bale mi curile kad god se pričalo o SIx-u, te se dadoh se u poteru za istim.
Prevrnuo sam većinu BBS-ova, potegao (ne)legalne veze i NIL !
I sad, kažite vi meni, jel' to lepo :) !
P.S. More, pevajte bre gdi ga krijete !!!
clipper.1076bulaja,
-> #1072, goxx│Funkcija FWRITE() radi normalno kada je štampač spreman za stampu.
│Medjutim problem nastaje kada se štampač stavi off-line. Tada, funkcija
│jednostavno čeka da štampač bude spreman.
└───
NoRMaLno :), ipak ne možeš tretirati printter kao običan file :). Pre
upisivanja koristi funkciju IsPrinter() ili, ako baš hoćeš da sve bude
low-level :), Int 17h ili Port 379h (oba služe za kontrolu printer-a,
pogledaj neki od INFO fajlova za opis).
clipper.1077mirche,
-> #1072, goxx> Da li postoji neki način da se ovo zaobidje, i da se ispita
> kada je štampač nespreman.
ISPRINTER() je valjda ono što tražiš.
clipper.1078nbatocanin,
-> #1073, mpeti> Integr.... grrrrrrrr :(. Posle nekog čačkanja sa u
> DBFSIX.lnk forsirao module SXINDEX i SXSETHI u root
> (skinuti tarabe sa početka redova gde se ovi navode) i
> posle toga mi je sve lepo radilo.
Nije to: štos je u memoriji, pa si verovatno ovom intervencijom
promenio mem. mapu.
> Uzgred ima li neko iz Subotice, Novog Sada, Zrenjanina,
> Sombora ili Kikinde a ima SixCDX drajver.
Javi se anenad-u, nadam se da ti može pomoći.
clipper.1079dpredovic,
-> #1078, nbatocanin>> Integr.... grrrrrrrr :(. Posle nekog čačkanja sa u
>> DBFSIX.lnk forsirao module SXINDEX i SXSETHI u root
>> (skinuti tarabe sa početka redova gde se ovi navode) i
>> posle toga mi je sve lepo radilo.
>
> Nije to: štos je u memoriji, pa si verovatno ovom intervencijom
> promenio mem. mapu.
AAAAAAAAAAAArrrrrrrrrggghhhhhhh!!!!
(Tension breaker, had to be done.)
Nakon cca mesec i po dana VM Integrity fai*&%$#, konačno mi se ukazao TAO!
Ako je problem u VM, zašto ju ne isključiti? Daklem, jedno
BLINKER CLIPPER PAGE OFF rešava problem, barem što se tiče VM Integ %$#%$#.
Doduše, blinkerovi overleji porastu na cca 360K, ali šta se može: BLINKER
CACHE XMS 512, pa će sve moći sasvim lepo da se podnese...
Cu, Dejan
clipper.1081ndragan,
-> #1077, mirche/ ISPRINTER() je valjda ono što tražiš.
Za Foksovce, ova funkcija se zove PrintStatus(), za prijatelje samo
Prin().
clipper.1080ndragan,
-> #1071, dzoric/ A ako mi javi "Internal Stack Overflow" i pri tom
/ mi unisti FAT.
Na čemu onda napisa ovo?
Xm, ne sećam se o čemu je reč... obrisao sam svoju poruku na koju
odgovaraš, a pošto nisi ništa citirao, odgovor je
nemam pojma
clipper.1082cubro,
Pomoc !
Molim nekoga da mi se javi na mail (cubro), ako ima zadnju
verziju FoxPro -a (2.5 ?). Potrebne su mi neke informacije.
Ne bi bilo loshe, ako mi ostavite Vash broj telefona, pa cu
se ja javiti glasom. Unapred thank !
clipper.1083goxx,
-> #1077, mirche
■ ISPRINTER() je valjda ono što tražiš.
Hvala na ogovoru. To sam odavno pronašao, ali to nije to.
Goran
clipper.1084goxx,
-> #1076, bulaja
■ Pre upisivanja koristi funkciju IsPrinter() ili, ako baš hoćeš da sve bude
■ low-level :), Int 17h ili Port 379h (oba služe za kontrolu printer-a,
■ pogledaj neki od INFO fajlova za opis).
Hvala na pomoći. ISPRINTER() mi ne završava posao (onako kako sam trenutno
zamislio). Pogledaću joć funkciju write (ili još niže _open _write _close) iz
C-a.
Goran
clipper.1085dzoric,
-> #1080, ndragan
>> Xm, ne sećam se o čemu je reč... obrisao sam svoju poruku na koju
>> odgovaraš, a pošto nisi ništa citirao
Izvinjavam se bio je reply na 11.1070, ali sam pisao on-line
pa sam omanuo.
>> Ergo:
>> 1. ako vam program pravi nepredvidljive probleme povećajte stack
>> 2. ako dobijate grešku eval stack fault i sl, smanjite stack
>> 3. ako ste uradili 2., pa vam se javlja 1., UNDO & statičke
>> promenljive inicijalizujte run-time
>> A ako mi javi "Internal Stack Overflow" i pri tom
>> mi unisti FAT.
clipper.1086snemcev,
-> #1070, dpredovic>> 4. objasnite korisnicima sve mane PC tehnologije, kukajte na
>> nesavršenost alatki, plačite nad segmentnom arhitekturom itd. ;)
Interesantan prilog. Elem, problema sa stekom još nisam imao, a nadam se
da će tako i da ostane. :)
clipper.1087dsisic,
Hi!
SIXNSX 1.5 came in to town!!!
Ko voli da proba, mail-me.
Takodje je stigao patch br 2 za SIXCDX, ali ne u formi patcha, vec u
obliku LIB direktorijuma sa neke xxx masine iz neke xxx zemlje.
U principu, mogao bi se napraviti patch iz domace radinosti, zar ne!!
Sto se tice VM Int. Failure, ljudi iz inostranstva koji rade sa SIXOM
i koji imaju mnogo bolji pristup raznoraznim forumina ... tvrde da
je to bug Clippera, a ne Sixa i da Six sa svojim zahtevima
za memorijom ili nekim drugim pozivima samo otkriva nemarnost
CA programera.
clipper.1088dsisic,
Sledstveno poruci koju sam nedavno ostavio ovde, obavestavam vas da
posedujem patch koji ce od datoteka:
sixcdx lib 231,845 5:22a
machsix lib 87,677 5:22a
machsix ch 36,117 5:20a
napraviti:
sixcdx lib 232,883 5:23a
machsix lib 91,799 5:23a
machsix ch 36,245 5:23a
Dakle, radi se o patchu u domacoj radinosti koji nije autorizovan.
Ovo je uradjeno u nedostatku zvanicnog patcha.
Cenim da ovaj patch moze biti downloadovan u ovu konferenciju
iako nije autorizovan dok se ne nabavi regularan, kako bi se svi oni
koji su presli na SIX zakrpili.
O patchu nemam nikakvu dokumentaciju.
Voleo bih kratak odgovor od nadleznih u vezi DownLoadinga :)
Ko zeli precicom, mail-me. ( Patch je kratak: 38,437 bytes )
clipper.1089djelovic,
-> #1088, dsisic> Voleo bih kratak odgovor od nadleznih u vezi DownLoadinga :)
Patch je dobrodošao.
clipper.1090dsisic,
Evo patcha
six2.arjclipper.1091nbatocanin,
-> #1079, dpredovic> Ako je problem u VM, zašto ju ne isključiti? Daklem, jedno
> BLINKER CLIPPER PAGE OFF rešava problem, barem što se tiče
> VM Integ %$#%$#. Doduše, blinkerovi overleji porastu na
> cca 360K, ali šta se može: BLINKER CACHE XMS 512, pa će
> sve moći sasvim lepo da se podnese...
Teško... Ovakvi programi iskaču i sa 700K osnovne memorije :(
clipper.1092dmajkic,
Nov sam kliperaš. :) Ne, neću pitati ima li ko SIX v2.0 ili
Blinker ili ne_znam_ti_ja_koju_tamo_biblioteku. (To ću da
pitam za koji mesec. ;) )
Očekujem vašu podršku u rešavanju problema koji mi tokom
učanja budu iskrsli.
Prva stvar koju bi hteo da pitam je koji editor koristite?
Da li ste ga konfigurisali da radi kao mali CA IDE, i kako?
Probao sam brief, međutim, brlja mi po norton gajdu.
Druga stvar, kako se koriste vbase52.pll i vbase52.plt?
Toliko za sad, unapred hvala i pozdrav svima. :)
clipper.1093neman,
-> #1092, dmajkic> Nov sam kliperas. :) Ne, necu pitati ima li ko SIX v2.0
> ili Blinker ili ne_znam_ti_ja_koju_tamo_biblioteku. (To cu
> da pitam za koji mesec. ;) )
Ako, ako...
> Prva stvar koju bi hteo da pitam je koji editor koristite?
> Da li ste ga konfigurisali da radi kao mali CA IDE, i
> kako?
Ja koristim SideKick 1.1 (?)
> Druga stvar, kako se koriste vbase52.pll i vbase52.plt?
Clipper ime
Rtlink fi ime /pll:vbase52
ime
Treba da postoji i jedno
SET PLL=put_do_direktorijuma_gde_ti_je_pll
npr.
SET PLL=D:\CLIPPER5\PLL
BTW otkud ti vbase52, obicno je samo base52 ?
neman
clipper.1094dpredovic,
-> #1091, nbatocanin..SOR 2.30 EXEC Z0F72176
CONF JOIN PC.PROG.3
CONF REPLY 11.1091
>> Ako je problem u VM, zašto ju ne isključiti? Daklem, jedno
>> BLINKER CLIPPER PAGE OFF rešava problem, barem što se tiče
>> VM Integ %$#%$#. Doduše, blinkerovi overleji porastu na
>> cca 360K, ali šta se može: BLINKER CACHE XMS 512, pa će
>> sve moći sasvim lepo da se podnese...
>
> Teško... Ovakvi programi iskaču i sa 700K osnovne memorije :(
Khm... Radost je bila preuranjena... schmrc... :(
U celom teoretskom razmatranju sam zaboravio maaalu sitnicu...
Sa PAGE OFF Blinker preuzima na sebe rad sa kompletnim kodom
(i clipper i c). Problem je što na clipperu opet ostaje da
barata sa podacima. Jeste da ovo pomaže (oko 250-300 kila manje
za clipper da se muči), ali sam uspeo i to da oborim.
Da bude još gore, ceo program sam (konačno) prebacio u
EXECUTABLE EXTENDED, i guess what? Opet isto...
ALI...
Program takav kakav jeste, puca kada malo jače dune promaja, kod
korisnika startujem iz windowsa. Program se muči, krči, radi do
zla boga sporo, ali NE puca???
Neću (opet) da kažem da imam neko spasonosno rešenje, ali mi se
stvarno čini da je to-to:
Izgleda da stvar spasava DPMI, bilo bi vrlo glupo da postoje
aktivna dva VM menagera, jedan u dos-u (windowsu), a drugi u
clipperu, da rade isti posao. Daklem, izgleda da ako postoji externi
DPMI, blinker ne pravi neku njegovu emulaciju, u kojoj učestvuje i
clipper, nego se kompletan MM prebacuje na pravi DPMI.
Naravno, ne pada mi napamet da korisnike teram da moj program startuju
iz windowsa, pa mi na pamet pade QDPMI, ali avaj... Bez obzira na ono
što piše u NG blinker NEĆE aktivirati QDPMI, ako je ulinkovan swapruncmd.
Nije neka strašno velika greda, pošto u extended modu ostaje ihaha mesta
i za običan RUN, ali bi ipak voleo da mi neko pošalje overlay.lib.
Imao sam ga nekad, ali sam ga skinuo kad je stigao Blinker 3.0.
Cu, Dejan
PS. Jel i kod vas u exe fajlu piše Blinker 3.0 Beta 8?
clipper.1095nbatocanin,
-> #1092, dmajkic> Probao sam brief, međutim, brlja mi po norton gajdu.
??? Kako? Ja ga koristim otkako znam za sebe :)
clipper.1096feniks,
Jel pratio neko prva dva časa Clipper-a na
Prolupatoru? Dr.ing.prof.Ćosić je čujem doveo nekog
da na popularan način nauči ljude. Ako neko ima te
demo programe nek mi baci na mail a može i ovde,
sigurno još nekog to interesuje.
S.P.
clipper.1097nbatocanin,
-> #1094, dpredovic> Izgleda da stvar spasava DPMI, bilo bi vrlo glupo da
> postoje aktivna dva VM menagera, jedan u dos-u (windowsu),
> a drugi u clipperu, da rade isti posao. Daklem, izgleda da
> ako postoji externi DPMI, blinker ne pravi neku njegovu
> emulaciju, u kojoj učestvuje i clipper, nego se kompletan
> MM prebacuje na pravi DPMI.
Na žalost, izgleda da puca i u protected modu. Više bi mogao da kaže
dsisic.
clipper.1098dpredovic,
-> #1091, nbatocanin>> Ako je problem u VM, zašto ju ne isključiti? Daklem, jedno
>> BLINKER CLIPPER PAGE OFF rešava problem, barem što se tiče
>> VM Integ %$#%$#. Doduše, blinkerovi overleji porastu na
>> cca 360K, ali šta se može: BLINKER CACHE XMS 512, pa će
>> sve moći sasvim lepo da se podnese...
>
> Teško... Ovakvi programi iskaču i sa 700K osnovne memorije :(
Khm... Radost je bila preuranjena... schmrc... :(
U celom teoretskom razmatranju sam zaboravio maaalu sitnicu...
Sa PAGE OFF Blinker preuzima na sebe rad sa kompletnim kodom
(i clipper i c). Problem je što na clipperu opet ostaje da
barata sa podacima. Jeste da ovo pomaže (oko 250-300 kila manje
za clipper da se muči), ali sam uspeo i to da oborim.
Da bude još gore, ceo program sam (konačno) prebacio u
EXECUTABLE EXTENDED, i guess what? Opet isto...
ALI...
Program takav kakav jeste, puca kada malo jače dune promaja, kod
korisnika startujem iz windowsa. Program se muči, krči, radi do
zla boga sporo, ali NE puca???
Neću (opet) da kažem da imam neko spasonosno rešenje, ali mi se
stvarno čini da je to-to:
Izgleda da stvar spasava DPMI, bilo bi vrlo glupo da postoje
aktivna dva VM menagera, jedan u dos-u (windowsu), a drugi u
clipperu, da rade isti posao. Daklem, izgleda da ako postoji externi
DPMI, blinker ne pravi neku njegovu emulaciju, u kojoj učestvuje i
clipper, nego se kompletan MM prebacuje na pravi DPMI.
Naravno, ne pada mi napamet da korisnike teram da moj program startuju
iz windowsa, pa mi na pamet pade QDPMI, ali avaj... Bez obzira na ono
što piše u NG blinker NEĆE aktivirati QDPMI, ako je ulinkovan swapruncmd.
Nije neka strašno velika greda, pošto u extended modu ostaje ihaha mesta
i za običan RUN, ali bi ipak voleo da mi neko pošalje overlay.lib.
Imao sam ga nekad, ali sam ga skinuo kad je stigao Blinker 3.0.
Cu, Dejan
PS. Jel i kod vas u exe fajlu piše Blinker 3.0 Beta 8?
clipper.1099snemcev,
-> #1096, feniks>> Jel pratio neko prva dva časa Clipper-a na Prolupatoru?
>> Dr.ing.prof.Ćosić je čujem doveo nekog da na popularan način nauči
>> ljude. Ako neko ima te demo programe nek mi baci na mail a može i
>> ovde, sigurno još nekog to interesuje.
Jel' ti to ozbiljno?!
clipper.1100dpredovic,
-> #1097, nbatocanin> Na žalost, izgleda da puca i u protected modu. Više bi mogao da
> kaže dsisic.
Jesi li probao pod DPMI-jem, ja stvarno još nisam uspeo da ga
nateram da pukne, a problem sa swpruncmd sam rešio sa shroom-om.
Cu, Dejan
clipper.1101mbole,
-> #651, arazumenic> A još kada bi moglo u .LNK fajlu da se napiše nešto kao:
># ifdef d
> ...
># endif
> pa da nemam dva-tri skript fajla za linker, bilo bi izvanredno.
>
> Saša
Listam ovih dana poruke iz perioda 4.93-3.94 dok me nije bilo ovuda pa
natrčah na ovo.
Ako sam dobro shvatio šta te muči, reč je o raznim varijantama lnk filea
za demo, radnu i final verziju.
Davno već ne koristim rtlink (pa se ne sećam da li omogućava include
.lnk datoteka), ali kod blinkera sam ovo rešio ovako:
Imam tri mala lnk fajla trtradna.lnk, trtdemo.lnk i trtfinal.lnk, u
kojima se nalaze razlike za ove verzije što se tiče linkera. Npr u
trtfinal.lnk stoji blinker inc off koga nema u trtradna.lnk. Rmake u
zavisnosti od prenetog parametra bat fajlu poziva blinker sa nekom od njih.
Na kraju svake se nalazi jedno @trt.lnk u kome se ustvari nalaze moduli
koje treba povezati, i koji su zajednički za sve verzije.
Sada se izmene vrše samo na jednom mestu.
PS. Sory ako otkrivam toplu vodu.
clipper.1102arazumenic,
-> #1101, mbole-> Imam tri mala lnk fajla trtradna.lnk, trtdemo.lnk i trtfinal.lnk, u
-> kojima se nalaze razlike za ove verzije što se tiče linkera. Npr u
-> trtfinal.lnk stoji blinker inc off koga nema u trtradna.lnk. Rmake u
-> zavisnosti od prenetog parametra bat fajlu poziva blinker sa nekom od
-> njih.
-> Na kraju svake se nalazi jedno čtrt.lnk u kome se ustvari nalaze moduli
-> koje treba povezati, i koji su zajednički za sve verzije.
Da, ovo funkcioniše, ali samo ako svuda koristiš iste prekidače prilikom
kompajliranja programa, odnosno ako koristiš isti .OBJ fajl za sve verzije,
što kod mene nije slučaj. Ne znam da li si obratio pažnju na to da za
različite verzije .EXE fajla koristim različito kopmajlirane .PRG fajlove.
Tako u .LNK za radnu verziju stoji FILE radniĐxxx.obj, u .LNK za debug
verziju stoji FILE debugĐxxx.obj, a u .LNK za instalacionu verziju stoji
FILE installĐxxx.obj.
Osim toga, za radnu i debug verziju koristim blinker, a za instalacionu
RTLink.
Naravno, da osim ovih glavnih razlika, postoje još i neke druge, manje
bitne za ovaj problem .LNK datoteka.
Saša
clipper.1103dmajkic,
-> #1095, nbatocanin+>> Probao sam brief, međutim, brlja mi po norton gajdu.
+>
+> ??? Kako? Ja ga koristim otkako znam za sebe :)
Pa pojavi se okvir NG-a, ali nema teksta. Počne da se nazire kada
mrdam "štanglu" kursorskim tasterima, a onda počne da sipa đubre.
Plus što se stalno kači sa brifovim satom u ćošku. :(
clipper.1104mbole,
-> #1102, arazumenic> različite verzije .EXE fajla koristim različito kopmajlirane
> .PRG fajlove. Tako u .LNK za radnu verziju stoji FILE
> radniĐxxx.obj, u .LNK za debug verziju stoji FILE
> debugĐxxx.obj, a u .LNK za instalacionu verziju stoji FILE
> installĐxxx.obj.
Zašto ovo ne rešavaš u samom programu sa
#ifdef debug
.....
#endif
#ifdef inst
....
#endif
ili sličnim konstrukcijama. Jedino ako postoje baš žestoke razlike. Al
nikako ne vidim razlog zašto bi razlike između radnog i finalnog filea
trebale (a i smele) da budu velike.
Lično se trudim da tu razliku održim na što manjem nivou, recimo
preskačem uvodni ekran i neke slične gluposti, da bi mogao da testiram
aplikaciju u što realnijim uslovima.
> Da, ovo funkcioniše, ali samo ako svuda koristiš iste prekidače
> prilikom kompajliranja programa, odnosno ako koristiš isti .OBJ
> fajl za sve verzije,
A što bi prekidači morali da budu isti? Recimo:
!ifdef debug
!ifdef demo
.prg.obj:
clipper $* /m /n /b /w /o$@ /ddebug /ddemo
!else
.prg.obj:
clipper $* /m /n /b /w /o$@ /ddebug
!endif
!else
!ifdef demo
.prg.obj:
clipper $* /m /n /l /w /o$@ /ddemo
!else
.prg.obj:
clipper $* /m /n /l /w /o$@
!endif
!endif
Naravno kada se kompajlira finalna verzija ide i jedno /f u pozivu
rmake-a tako da ga nateram da prevede sve što postoji iz početka.
Doduše /f je ponekad neophodan i u toku rada, ali je to ipak srazmerno
retko.
clipper.1105arazumenic,
-> #1104, mbole-> Zašto ovo ne rešavaš u samom programu sa
-> # ifdef debug
-> # endif
Ovo tako i rešavam. Inače, razlika izmedju radnog i finalnog fajla je
minimalna, odnosno da mi u pojedinim fazama rada prikaže neke informacije.
-> A što bi prekidači morali da budu isti? Recimo:
Upravo je problem u različitim prekidačima.
-> Naravno kada se kompajlira finalna verzija ide i jedno /f u pozivu
-> rmake-a tako da ga nateram da prevede sve što postoji iz početka.
-> Doduše /f je ponekad neophodan i u toku rada, ali je to ipak srazmerno
-> retko.
E sada ovako. Način na koji ti radiš je sledeći:
Ispravljaš neki deo programa, startuješ rmake sa /ddebug, Clipper prevodi
ispravljeni fajl sa "clipper $* /m /n /b /w /o$č /ddebug", i posle toga se
linkuje. Završiš razvoj tog fajla, i startuješ rmake bez prekidača. E sada
ti Clipper NE prevodi ponovo taj fajl, već se samo startuje linker, i linkuje
.OBJ fajl koje preveden sa /b /ddebug, jer svuda ti .OBJ fajlovi idu i isti
direktorijum.
Ako si pažljivo čitao moju poruku, video si da su kod mene 3 direktorijuma
za .OBJ fajlove. U jednom je radna verzija, u drugom debug verzija, a u
trećem je instalaciona verzija .OBJ fajlova. Zbog toga što su u različitim
direktorijumima, zbog potrebe za dodatnim .OBJ fajlovima za debug verziju,
moram da imam 3 .LNK datoteke. Zato mi nedostaje prenos prekidača iz rMake
u skript fajl za linker.
Saša
clipper.1106drdjokic,
Kako da deaktiviram u Cliper programu kombinaciju tastera ALT cŤC, kako bih
sprecio nasilni izlazak iz programa.
Hvala unapred !
clipper.1107bulaja,
-> #1106, drdjokic│Kako da deaktiviram u Cliper programu kombinaciju tastera ALT cŤC,
│kako bih sprecio nasilni izlazak iz programa.
└───
SetCancel (.F.)
clipper.1108mbole,
-> #1105, arazumenic
> Ispravljaš neki deo programa, startuješ rmake sa /ddebug,
> Clipper prevodi ispravljeni fajl sa "clipper $* /m /n /b /w
> /o$č /ddebug", i posle toga se linkuje. Završiš razvoj tog
> fajla, i startuješ rmake bez prekidača. E sada ti Clipper NE
> prevodi ponovo taj fajl, već se samo startuje linker, i linkuje
> .OBJ fajl koje preveden sa /b /ddebug, jer svuda ti .OBJ
> fajlovi idu i isti direktorijum.
Neće biti :) Tj. bilo bi tako da nisam startovao rmake sa prekidačem /f
koji tera rmake da prevede sve iz početka, bez obzira na vremena kreiranja
.obj odnosno .prg fajlova.
Tačnije rečeno ovo se sve poziva iz jednog .bat fajla kome šaljem
prekidače d(debug-poziva debuger nakon linkovanja), e(konačna exe verzija),
m(demo verzija), f(full-prevodi se sve što postoji bez obzira na vremena
kreiranja), bez parametara (radna verzija- podrazumevana opcija ako nije
navedeno m ili e, tj isto kao prekidač d samo nema poziva debugera već se
samo startuje program). Ima tu još komplikacija kao naprimer ako je pozvan
samo sa parametrom m onda se prevodi sa /b a ako je pozvan sa m e prevodi
se bez /b i sa /l.
E sad nisam probao da različite .obj držim u raznim direktorijumima
(mada mi se čini da bi i to moglo da se reguliše, probaću ovih dana).
Priznajem da ne vidim neke preke potrebe za ovim, osim ako je računar na
kome radiš zaista spor.
Konačne verzije u principu prevodiš jednom ili najviše par puta, tek
nakon što si sve živo proverio na radnoj verziji. Znači sve vreme u obj
dir-u mi stoje radne .obj verzije, tj ponovo se prevodi samo menjani fajl.
Kad završim sa razvojem, pokrenem bat fajl sa f opcijom (plus e i/ili m)
tako da se svi sorsevi ponovo prevedu, i imam konačni exe.
Da ne bih davio previše evo ti uz poruku garnitura .bat;.rmk;*.lnk
fajlova pa ako ti se sviđa koristi, a ako ne teraj po svome.
Ah da ovaj .bat je prilično glomazno i ružno napisan (znam da to može
mnogo elegantnije), al prvi(i jedini :)) put kad sam ga radio bilo je negde
oko 3 ujutru, a posle me mrzelo da diram stvar koja radi :)
PS. Ne pružam nikakve garancije za priložene fajlove tj upotrebljavate
ih na svoj rizik. Biću zahvalan za dojavu svakog uočenog bug-a.
Beše ovako se to piše? ;)
make.zipclipper.1109nbatocanin,
-> #1103, dmajkic> Pa pojavi se okvir NG-a, ali nema teksta. Počne da se
> nazire kada mrdam "štanglu" kursorskim tasterima, a onda
> počne da sipa đubre. Plus što se stalno kači sa brifovim
> satom u ćošku. :(
Mora da si nešto ubrljao sa bojama. To mora da radi.
clipper.1110toma,
Sećate se svih onih preporuka o nekorišćenju imena tipa 1200,
2200 i sličnih za DBF fajlove. E, ja nisam baš obratio pažnju na ovo
i evo sad kad konačno pređoh na 5.2 on me fino dočeka porukom da to
nije regularno ime za DBF fajl. Clipper 5.01 je ladno gutao ovakve
nazive. I još nešto. Imao sam na par mesta u programu klauzulu
SET COLOR TO To je prouzrokovalo nevidljivost teksta u naredbama tipa
@10,10 say "Naziv:" get ime
CLEAR GETS
Na ekranu je pisalo samo Naziv:, iako je ime <> ""
Toliko od mene o razlikama. Pozdrav.
clipper.1111mbole,
-> #1110, toma> i evo sad kad konačno pređoh na 5.2 on me fino dočeka porukom
> da to nije regularno ime za DBF fajl. Clipper 5.01 je ladno
> gutao ovakve
Eh ovo je stari problem na koji sam jednom natrčao. Naime u ng fajlu za
5.01 lepo piše da fajlovima ne treba davati imena koja počinju nečim drugim
osim slova. Pošto to parče uputstva nisam pročitao na vreme :))) bilo mi je
baš zgodno da fajl bude recimo 01_23_93.dbf dok se jednog dana program nije
zakucao nakon neke banalne izmene, sa nebuloznim porukama o greškama.
Nakon pokušavanja svega i svačega, pozivanja debugera u pomoć, čitanja
očenaša, i časne pionirske reči da neću nikad više, ništa nije pomoglo.
Nekako tih dana se pojavila rev a za clipper 5.01 pa reko ajd da
probamo. Poteram ga ja, a on prijavi dotičnu grešku pri kompajliranju.
Opps, šta sad. Instaliram ponovo 5.01 (bez revizije a), promenim imena
fajlova, i stvar radi bez problema.
Znači, i 5.01 ne radi kako treba (barem ponekad, što je za mene sasvim
dovoljno često) kada ime fajla počinje nečim drugim osim slova.
E sad, što su momci umesto da isprave ovo samo uveli sintaksnu kontrolu
njima na dušu.
Naravoučenije: Iako Clipper 5.01 dozvoli da ime fajla počinje brojem,
nemojte podleći iskušenju.
clipper.1112arazumenic,
-> #1108, mbole-> Neće biti :) Tj. bilo bi tako da nisam startovao rmake sa prekidačem /f
-> koji tera rmake da prevede sve iz početka, bez obzira na vremena
-> kreiranja .obj odnosno .prg fajlova.
Poenta držanja .OBJ fajlova u različitim direktorijumima je ta da mi ne
prevodi sve .PRG fajlove, već samo menjane.
-> Priznajem da ne vidim neke preke potrebe za ovim, osim ako je računar na
-> kome radiš zaista spor.
Radim na jednom 386/25 i jednom 386/33.
-> Konačne verzije u principu prevodiš jednom ili najviše par puta, tek
-> nakon što si sve živo proverio na radnoj verziji. Znači sve vreme u obj
-> dir-u mi stoje radne .obj verzije, tj ponovo se prevodi samo menjani
-> fajl. Kad završim sa razvojem, pokrenem bat fajl sa f opcijom (plus e
-> i/ili m) tako da se svi sorsevi ponovo prevedu, i imam konačni exe.
Evo nekih aktuelnih podataka:
62 .PRG fajlova, približno 400k
.OBJ fajlova, 336k
Vreme kompletnog prevodjenja: 3 min i 45 sec. (386/25)
Dok nisam počeo da radim na ovaj način, dešavalo se par puta sledeće:
Startujem program (debug verzuju), dodjem na kritično mesto, i ustanovim
da mi je potrebno da vidim neki drugi deo programa. Po Marfijevom zakonu,
taj deo nije preveden sa /b. Onda prekidaj program, briši dotični .OBJ i
sve ponovo. Ovako sam siguran da mi takva egzibicija više neće trebati.
Saša
clipper.1113bulaja,
-> #1112, arazumenic│Poenta držanja .OBJ fajlova u različitim direktorijumima je ta da mi ne
│prevodi sve .PRG fajlove, već samo menjane.
└───
????
Pa čemu onda služi (r)make?
clipper.1114snemcev,
-> #1110, toma>> Sećate se svih onih preporuka o nekorišćenju imena tipa 1200,
>> 2200 i sličnih za DBF fajlove. E, ja nisam baš obratio pažnju na ovo
>> i evo sad kad konačno pređoh na 5.2 on me fino dočeka porukom da to
>> nije regularno ime za DBF fajl.
To jeste regularno ime za dbf, ali nije za alias. Nije šija, nego vrat?
Varaš se! Pokušaj USE 1200 NEW ALIAS Kupci
clipper.1115dpredovic,
-> #1103, dmajkic> Pa pojavi se okvir NG-a, ali nema teksta. Počne da se nazire
> kada mrdam "štanglu" kursorskim tasterima, a onda počne da sipa
> đubre. Plus što se stalno kači sa brifovim satom u ćošku. :(
Proveri da li među svim onim silnim svičevima za brief postoji -p,
ako nema - probaj.
clipper.1116ndragan,
-> #1111, mbole/ E sad, što su momci umesto da isprave ovo samo uveli sintaksnu
/ kontrolu njima na dušu.
Probao sam nešto slično u foksprou prošle godine (v 2.0). U jednoj firmi
su imali kućnog programera koji je krstio dbfove sa I-230.dbf i slično.
Učini mi se sumnjivo kako će to čudo da se ponaša, pa uradim
use i-230
i prođe. Probam
? i-230.polje
i javi 'Variable "I" not found'. Probam da strpam to u imensku
promenljivu, opet javlja isto. Ispišem
? Alias()
i javi lepo A. žim ime datoteke nije regularno, on mu daje difolt alias
(A, B, C itd do Z izuzev rezervisanog M). Probam
? a.polje
kad ono radi. Elem, foks neće pući, ali možeš da gledaš u pasulj koji će
alias da bude ako sam ne izabereš zonu u kojoj otvaraš (što ja nikad ne
radim), ili sam ne odrediš alias (e to već radim, ali tek kad treba).
clipper.1117petrovics,
Mucim se neko vreme sa Blinkerom pa bih moli za pomoc.
Kako da celu aplikaiju (RTLINK-ov EXE je oko 600 KB) izlinkujem
Blinkerom ? Moze li on uopste da potpuno automatski obavi posao
kao RTLINK ?
Za sada ga koristim samo za manje programe :(
clipper.1118bdm.,
Subject: Files... :(
Prijatelji pomagajte,
imam ludački problem, stavio sam u CONFIG-u da mi je FILES čak
70 međutim Clipper mi opet ne dozvoljava da otvorim više od 20
fajlova, čista glupost... Kad pozovem aplikaciju sa //F:40 npr.
onda sve fercera super, e sad kako izbeći ovo stalno pozivanje
sa //F:40 a da to ne bude setovanjem CLIPPER=F:40, pošto ne bih
volio da mi korisnik o tome brine već da ja to nekako ugradim
u kod aplikacija, da on može samo da otkuca P i da ne mu je sve
ok... Please, hitno mi je vrlo... :(
BDM.
clipper.1119mbole,
-> #1117, petrovics> Kako da celu aplikaiju (RTLINK-ov EXE je oko 600 KB) izlinkujem
> Blinkerom ? Moze li on uopste da potpuno automatski obavi
> posao kao RTLINK ?
Može. Kažeš lepo blinker fi (imena obj fajlova ili @lnk datoteka) i gotovo
Sintaksa je čak potuno ista u najvećem delu. Jedino je neophodno da
recimo za finalnu verziju dodaš jedno blinker incremental off u lnk fajl.
clipper.1120mbole,
-> #1118, bdm.> onda sve fercera super, e sad kako izbeći ovo stalno pozivanje
> sa //F:40 a da to ne bude setovanjem CLIPPER=F:40, pošto ne bih
Postoji način al je vezan za korišćenje blinkera. U lnk fajl dodaš
liniju blinker executable clipper f:40 ili bilo šta od opcija (piše u ng
fajlu za blink).
Sa rtlink-om ovo nije moguće.
Jedina dva načina su da mu u autoexec dodaš jedno set clipper=f:40 ili
da mu kreiraš .bat fajl u kome piše app.exe //f:40 pa da pokreće aplikaciju
preko bat fajla. Ah da. žesto se zaboravi pa da te podsetim. Pazi da ne
nazoveš .bat isto kao i aplikaciju jer se onda neće nikada izvršiti .bat
već .exe.
clipper.1121.bale.,
-> #1118, bdm.> fajlova, čista glupost... Kad pozovem aplikaciju sa //F:40 npr.
> onda sve fercera super, e sad kako izbeći ovo stalno pozivanje
> sa //F:40 a da to ne bude setovanjem CLIPPER=F:40, pošto ne bih
Mislim da netje motji drugačije...
clipper.1122arazumenic,
-> #1113, bulaja-> Pa čemu onda služi (r)make?
Da mi prevede samo menjane fajlove.
Saša
clipper.1123bulaja,
-> #1117, petrovics│Mucim se neko vreme sa Blinkerom pa bih moli za pomoc. Kako da celu
│aplikaiju (RTLINK-ov EXE je oko 600 KB) izlinkujem Blinkerom ? Moze
│li on uopste da potpuno automatski obavi posao kao RTLINK ?
└───
Naravno da može. Pogledaj primere LNK fajlova koji se dobijaju uz
Blinker, a za početak će i ovo raditi isto što i RTLink:
Blinker FI <lista OBJ> LIB <lista LIB> BLI INC OFF
clipper.1124dejanr,
-> #1118, bdm.>> imam ludački problem, stavio sam u CONFIG-u da mi je FILES čak
>> 70 međutim Clipper mi opet ne dozvoljava da otvorim više od 20
>> fajlova, čista glupost... Kad pozovem aplikaciju sa //F:40 npr.
>> onda sve fercera super, e sad kako izbeći ovo stalno pozivanje
>> sa //F:40 a da to ne bude setovanjem CLIPPER=F:40, pošto ne bih
>> volio da mi korisnik o tome brine već da ja to nekako ugradim
>> u kod aplikacija, da on može samo da otkuca P i da ne mu je sve
>> ok...
Ako koristiš BLINKER, dosta je da negde na početku LNK fajla staviš:
BLINKER EXECUTABLE CLIPPER F40;
clipper.1125nbatocanin,
-> #1117, petrovics> Mucim se neko vreme sa Blinkerom pa bih moli za pomoc.
> Kako da celu aplikaiju (RTLINK-ov EXE je oko 600 KB)
> izlinkujem Blinkerom ? Moze li on uopste da potpuno
> automatski obavi posao kao RTLINK ?
Ja koristim sledeću proceduru (navodim datoteku APP.LNK):
BLINKER EXECUTABLE CLIPPER //F:50
OUTPUT app.exe
FILE app
BEGINAREA
FILE p1, p2, p3, p4, ... // spisak datoteka
LIBRARY l1, l2, ... // spisak bibl.
ENDAREA
@cl52min.lnk // ovo se dobija uz Blinker
i sad kad treba link za radnu verziju kažeš:
BLINKER @APP.LNK
Za finalnu verziju kažeš:
BLINKER @APP.LNK BLI INC OFF
i to je to.
> Za sada ga koristim samo za manje programe :(
Ja imam programe od preko 1MB EXE urađene na ovaj način.