cavo.1djelovic,
Back by popular demand :) - CA-Visual Objects, razvojno okruženje
sutrašnjice.
cavo.2d.petrovic,
Sa srećom nam bilo (i treba ;)).
Mogao bi da prebaciš poruke iz teme clipper ovde (ko ti je kriv što si
čekao toliko ;)))) )
cavo.3goxx,
■ Back by popular demand :) - CA-Visual Objects
Da otvorimo sezonu. Osvajanje divljeg zapada počinje. Za početak ću malo da
postavljam pitanja, a kasnije, ko zna, možda i dam neki odgovor :))
Pitanje: Koliko je dobar predprocesor CA-VO (u odnosu na clipper)? Da li
ima neka poboljšanja ili pogoršanja. Ako je ovo drugo u pitanju
dajte konkretan primer (šta ne može da "svari" - ovo me ne
interesuje zbog migracije programa jer apsolutno nemam nameru
da to radim, već počinjem iz početka).
PS. Može primer i za poboljšanja. :)
Goran
cavo.4bulaja,
│Pitanje: Koliko je dobar predprocesor CA-VO (u odnosu na clipper)?
│Da li ima neka poboljšanja ili pogoršanja.
└───
Zaboravi na Clipper pretprocesor (objašnjenje je na kraju poruke:).
U VO on i dalje postoji, čak sa sličnom sintaksom - ne postoje više
#translate i #command (i #x...) direktive već se sve takve stvari čuvaju
u posebnim .UDC (skraćeno od User Defined Commands ili tako nekako:)
datotekama gde direktive imaju oblik sličan kao u Clipper-u s tim što je
izbačeno #... i piše se direktno:
<komanda> => <definicija komande>
Evo npr. kako je u STD.UDC (to je ekvivlant Cliperovog STD.CH)
definisana @..SAY..GET komanda:
@ <y>,<x> SAY <str> [PICTURE <pic1>] [COLOR <col>] GET <var> [PICTURE <pic>] ;
[VALIDBLOCK <valid>] [WHENBLOCK <when>] [COLOR <col2>] [SEND <msg>] =>;
DevPos(<y>,<x>);; ;
DevOutPict(<str>,<pic1>,<col>);; ;
SetPos(row(),col()+1);; ;
AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
<{valid}>,<{when}>,;
{|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col2>)) ;
[;; ATail(getlist):<msg>]
Međutim, u CA-VO nema više nikakve potrebe za korišćenjem pretrocesora
u one svrhe u koje se intenzivno koristio sa Clipper-om. Ako vam je
potrebna promena ponašanja neke ugrađene klase (zaboravite na komande:),
jednostavno ćete tu klasu naslediti i promeniti ono što vam treba. :)
cavo.5jorad,
Hmmffff.... Muka živa sa koje strane krenuti:(.
Bulaja, budi milostiv pa ubaci još koji jednostavan
primer.
cavo.6bulaja,
Vidim da nešto slabo ide :) sa VO (don't give up), pa da nastavim sa
primerima. Evo ga jedan primer VO programa nešto složenijeg nego "hello,
world" :). Radi pojednostavljenja primera, koriste se neke stvari koje
inače ne bi trebalo koristiti na ovaj način - npr. zloupotrebljeni su
sistemski meniji za smeštanje opcija glavnog i child prozora :).
Sam program je jednostavan. Ima jednu jedinu opciju (smeštenu u
sistemski meni) a to je pregled .DBF datoteka. Po odabiranju opcije,
aktivira se prvo standardni dijalog za izbor željen .DBF datoteke, a
zatim jedan DataWindow gde se baza pregleda. Default je tabelarni
(browse) pregled, a u sistemski meni child prozora smeštene su samo
neke osnovne opcije (čisto kao primer da vidite kako se to radi:).
Aplikacija je MDI, što znači da možete otvarati prozora sa bazama koliko
hoćete.
Iako je primer relativno jednostavan, dotiče se nekih ključnih stvari u
VO, prema tome dobro ga prostudirajte :). U primeri se ne koriste
nikakve kontrole (zato sam i zloupotrebio sistemski meni), tokom nedelje
(odnosno kad stignem:) trudiću se da malo objasnim i njih :). Sada sledi
goli source primera bez komentara, a potrudiću se da nešto kasnije (ili
sutra) okačim i lepo & detaljno komentarisan primer :).
/*
Copyright (c) 1995 by Jovan Bulajić
Free distribution and usage granted.
*/
CLASS GlavniProzor INHERIT ShellWindow
METHOD Start() CLASS App
local oWin as GlavniProzor
local oMenu as Menu
Enable3DControls()
oWin := GlavniProzor { self }
oMenu := oWin:EnableSystemMenu()
oMenu:AppendItem(MENUSEPARATOR)
oMenu:AppendItem(100, HyperLabel { #Pregled, "&Pregled" })
oWin:Caption := "Pregled .DBF datoteka"
oWin:Show()
self:Exec()
METHOD Pregled CLASS GlavniProzor
local oData as DataWindow
local oOpen as OpenDialog
local oMenu as Menu
(oOpen := OpenDialog { self, "*.dbf" } ):Show()
if !empty(oOpen:FileName)
oData := DataWindow { self }
oData:Use ( ;
DBServer ;
{ ;
oOpen:FileName, ;
DBSHARED, ;
oOpen:ReadOnly, ;
"DBFCDX" ;
} )
oData:ViewAs(#BrowseView)
oData:Caption := oOpen:FileName
oMenu := oData:EnableSystemMenu()
oMenu:AppendItem(MENUSEPARATOR)
oMenu:AppendItem(101, HyperLabel { #ViewForm, "View &form" })
oMenu:AppendItem(102, HyperLabel { #ViewTable, "View &table" })
oMenu:AppendItem(103, HyperLabel { #SkipPrevious, "&Prethodni" })
oMenu:AppendItem(104, HyperLabel { #SkipNext, "&Sledeci" })
oData:Show()
endif
cavo.7jorad,
Bravo Bulaja !!!
Hoćemo još...
Rade
cavo.8jorad,
Bulaja, nisam uspeo da generišem .exe iz ovog
primera. Kaže mi da je problem oko RC.EXE. Šta sam
propustio?
cavo.9jorad,
Mala napomena u vezi memorije. Generisanje Bulajinog
primera "Hello..." sa 8MB na 386DX je trajalo 85 sekundi
a sa 20MB 58 sekundi. žisto kao ilustracija...
cavo.10bulaja,
Evo ga jučerašnji primer sa obećanim komentarima i objašnjenjima.
/*
Copyright (c) 1995 by Jovan Bulajić
Free distribution and usage granted.
*/
CLASS GlavniProzor INHERIT ShellWindow
/*
Jasno? :)
Ovde kreiramo novu klasu koja nasleđuje ShellWindow klasu.
Jedina stvar u kojoj se GlavniProzor klasa razlikuje od
ShellWindow je metod Pregled() koji kreiramo u ovom primeru,
tako da nismo ni imali potrebe za kreiranjem nove klase
(koristimo kompletno ugrađeno ponašanje ShellWindow, ne menjamo
čak ni Init() metod), ali sam ipak stavio ovako zbog edukativnih
razloga. :)
Primetite da je samo korišćenje ShellWindow klase jedino što je
potrebno uraditi da bi ceo program radio kao MDI aplikacija
(naravno osim uobičajenih i standardnih stvari kao što je shared
otvaranje baza, zaključavanje slogova i drugog što inače
koristite npr. pri radu u mreži).
*/
METHOD Start() CLASS App
/*
Do sada ste valjda primetili da svaki program mora sadržavati
Start() entitet i to najčešće kao metod klase App
*/
local oWin as GlavniProzor
local oMenu as Menu
// Deklaracija promenjljivih je pretpostavljam jasna? :)
Enable3DControls()
// Ništa posebno - naglašava VO-u da hoćemo da koristimo 3D izgled
// kontrola (kojih inače u ovom primeru nemamo:). Za ovo je zadužen
// ctl3dv2.dll
oWin := GlavniProzor { self }
oMenu := oWin:EnableSystemMenu()
oMenu:AppendItem(MENUSEPARATOR)
oMenu:AppendItem(100, HyperLabel { #Pregled, "&Pregled" })
/*
Ovde ide jedna zloupotreba sistemskog menija :). Dodajemo mu
jednu opciju (i pre nje separator odnosno linijicu). Da ne bi
ovde objašnjavao previše stvari, pogledajte sami help za
HyperLabel klasu. Naročito obratite pažnju da ovo #Pregled -
time naznačavamo sistemu menija da će se aktiviranjem opcije
Pregled (ovo & u "&Pregled" znači jednostavno da će slovo "P"
biti hotkey i prikazano podvučeno) biti pozvan entited (metod,
funkcija, procedura - obično ovo prvo) sa nazivom PREGLED.
O hijerarhiji obrade događaja u CA-VO programima (verovatno se
pitate kako meni, odnosno sistem za obradu događaja, zna da
treba pozvati baš naš Pregled metod iz GlavniProzor klase, a ne
neki drugi?) napisaću nešto neki drugi put :).
*/
oWin:Caption := "Pregled .DBF datoteka"
/*
U Windows žargonu, caption je ono gornje statusno područje
(linija) prozora koje "uhvatite" mišem, pa zatim pomerate prozor
po ekranu. Caption instance promenljiva Windows klasa određuje
koji tekst (naslov) će se prikazivati u tom području). Svaki
child prozor ima svoj caption (naravno ukoliko ga ne isključimo)
a ovde dodeljujemo naziv osnovnom prozoru tj. praktično naziv
samog programa
*/
oWin:Show()
/*
Show() je metod osnovne Window klase i jasno nasleđuju ga svi
derivati Windows klase (ShellWindow, DataWindow, DialogWindow,
...). Radi jednostavnu stvar - prikazuje prozor :).
*/
self:Exec()
/*
Sve ovo do sada (uključujući i ostatak koda, definisanje metoda
i klasa,..) je bilo samo postavljanje događaja. Ovo self:Exec()
(self je u ovom slučaju sam program odnosno objekat klase App)
aktivira VO sistem za obradu svih tih događaja. Eventualni
ostatak koda u Start() će se izvršiti tek po zatvaranju glavnog
prozora.
*/
METHOD Pregled CLASS GlavniProzor
/*
Ovo je već spominjani jedini metod koji dodajemo u klasu
GlavniProzor. Mogli smo i jednostavno da stavimo samo:
METHOD Pregled CLASS ShellWinow
i tako izbegnemo kreiranje nove klase, ali ovo je lepši :) (i
verovatno preporučljivi pošto ne bi trebalo menjati osnovne VO
klase) način.
*/
local oData as DataWindow
local oOpen as OpenDialog
local oMenu as Menu
(oOpen := OpenDialog { self, "*.dbf" } ):Show()
/*
VO ima gotove klase za neke osnovne dijaloge. Ovde koristimo
jednu takvu za izbor datoteke i pružamo korisniku (tj. nama:)
mogućnost da iz uobičajenog FileOpen dijaloga izabere datoteku
koju želi da pregleda. Po zatvaranju dijaloga tj. odabiru
datoteke, informacije koje nas interesuju (naziv datoteke, read
only flag,..) će se nalaziti u promenljivim oOpen objekta.
Samo da napomenem da je ovo što sam gore stavio u jedan red
u stvari skraćeni način pisanja ovoga:
oOpen := OpenDialog { self, "*.dbf" }
oOpen:Show()
*/
if !empty(oOpen:FileName)
oData := DataWindow { self }
/*
Kreiramo data prozor. Prosleđujemo mu self (što je
uobičajeno) zato što će vlasnik data prozora biti baš
klasa GlavniProzor
*/
oData:Use ( ;
DBServer ;
{ ;
oOpen:FileName, ;
DBSHARED, ;
oOpen:ReadOnly, ;
"DBFCDX" ;
} )
/*
DBServer klasa - jedna od klasa koju ćete najčešće korisiti
u VO programima. Za onog ko je koristio Clipper jednostavna,
ali suviše obimna da bi je sad šire opisivao :). Ukratko,
pri inicijalizaciji joj prosleđujemo naziv datoteke koju
otvaramo (oOpen:FileName - to je ono što nam je OpenDialog
vratio), način otvaranja (DBSHARED je ugrađenja konstanta za
shared otvaranje), read only flag i RDD koji koristimo
(ukoliko se ne navede, koristi se default RDD).
Taj DBServer zatim kačimo na DataWindow koji preuzima sav
posao oko petljavine sa bazom podataka (tome i služi:).
*/
oData:ViewAs(#BrowseView)
oData:Caption := oOpen:FileName
/*
Definišemo da osnovni pregled bude tabelarnog (browse)
oblika i stavljamo file name datoteke u naslov prozora.
*/
oMenu := oData:EnableSystemMenu()
oMenu:AppendItem(MENUSEPARATOR)
oMenu:AppendItem(101, HyperLabel { #ViewForm, "View &form" })
oMenu:AppendItem(102, HyperLabel { #ViewTable, "View &table" })
oMenu:AppendItem(103, HyperLabel { #SkipPrevious, "&Prethodni" })
oMenu:AppendItem(104, HyperLabel { #SkipNext, "&Sledeci" })
/*
Još jedna zloupotreba sistemskog menija :). Obratite pažnju
da ovde za određene opcije menija kačimo sledeće događaje:
ViewForm, ViewTable, SkipPrevious i SkipNext - svi su oni
metodi DataWindow klase. Stavio sam baš njih čisto kao
primer, pogledajte help za DataWindow klasu da vidite šta
sve ima od predefinisanih metoda.
Naravno i korišćenje sistemskog menija je ovde samo da ne bi
komplikovao primer kreiranjem pravih menija i tool bar-ova,
inače treba njih koristiti :)
*/
oData:Show()
endif
// The END. Hope it helps. Questions? Stay tuned. :)
cavo.11bulaja,
Za one koji još nisu ni instalirali CA-Visual Objects, evo kako
izgleda ono šta VO generiše kao kostur standardne MDI aplikacije.
vostdapp.zipcavo.12bulaja,
│Bulaja, nisam uspeo da generišem .exe iz ovog primera.
│Kaže mi da je problem oko RC.EXE. Šta sam propustio?
└───
Ne bi smeo da se buni za RC.EXE (to je Resource Compiler), mora da ti je
u program uletelo nešto što ne treba :). Pošto ti "hello, world" radi Ok
pretpostavljam da nije problem u instalaciji VO. Šaljem u sledećoj
poruci i .AEF primera, pokušaj direktno da importuješ njega.
cavo.13bulaja,
Evo ga i .AEF (Application Export File format koji koristi CA-VO) za
primer iz poruke PR.PROG:cavo.10 (dakle onaj sa komentarima, uz još
dodati opis programa iz PC.PROG:cavo.6).
Posle importovanja nemojte zaboraviti da promenite u app properties
direktorijum za smeštanje EXE datoteka (namešten je na moju config).
primerb1.aefcavo.14bulaja,
│Mala napomena u vezi memorije. Generisanje Bulajinog primera "Hello..."
│sa 8MB na 386DX je trajalo 85 sekundi a sa 20MB 58 sekundi.
└───
Kad već merimo... :)
Kod mene (486/66, 16 Mb RAM) vremena za "hello, world" su sledeća:
- kompajliranje 5 sec
- startovanje iz CA-VO 12
- generisanje EXE 52
- startovanje EXE iz Win 5
s tim što bi verovatno moglo i brže kad bi mi radio 32-bitni pristup
disku (glupi Windows-i ne vole moj disk & kontroler:), a nisam još
probao da stavim TEMP na RAM disk :).
cavo.15.obj,
> - kompajliranje 5 sec
> - startovanje iz CA-VO 12
> - generisanje EXE 52
> - startovanje EXE iz Win 5
Kakva je razlika između "kompajliranje" i "generisanje EXE"? Ne koristim CA VO
(niti nameravam;), ali me ipak zanima. BTW, po tim vremenima koje navodite, VO
je, po meni, na ivici upotrebljivosti. Clipper je na XT-u sa PLINK-om bio
mnogo brži. Da ne pričam o tome da VB sve to radi 100 puta (bukvalno) brže.
Stvarno mi nije jasno šta je to toliko pametno što CA VO obavlja čitav minut
na 66-ici. Kao da svaki bit EXE-a podvrgne proučavanju grupe mirovnih
pregovarača pre nego što ga snimi na disk.
cavo.16bulaja,
│Kakva je razlika između "kompajliranje" i "generisanje EXE"?
└───
Kompajliran program se može odmah startovati iz VO razvojnog okruženja,
dok je generisanje EXE-a neophodno samo za finalnu verziju programa koja
ide kod krajnjeg korisnika, ili koju želiš testirati nezavisno od VO.
Dakle tokom razvoja se uglavnom koristi samo standardno kompajliranje,
pa samo vreme generisanja EXE datoteke nije kritično (mada ni meni nije
jasno što ga toliko radi:) - ono što predstavlja veću neprijatnost tokom
razvoja aplikacije je tih desetak sekundi potrebnih za startovanje
programa iz VO okruženja.
Samo kompajliranje je inkrementalno - VO održava neku internu varijantu
make datoteke i prevodi samo one entitete koji su promenjeni. To znači
da se posle svake izmene neće čekati pet (ili više) sekundi na kompletno
kompajliranje, već samo trenutak-dva. Dakle ako zanemarimo vreme za
generisanje EXE-a (koje nije kritično), ostaje kao najveći problem sama
brzina startovanja programa iz VO. Videću da li se to može na neki način
ubrzati :).
Btw može li neko ko ima instaliran nrp. VC++ ili BC++ (imam ja CD, ali
me mrzi da ga instaliram pošto mi C++ više ne treba:) da pošalje njihova
vremena za navedene operacije npr. za sličan "hello, world" primer (pod
istim uslovima, što znači korišćenje i dodatnih biblioteka za user
interface i obradu događaja - Borland-ov OWL na primer). Moglo bi da
padne i poređenje sa FoxPro i Access-om.
│BTW, po tim vremenima koje navodite, VO je, po meni, na ivici
│upotrebljivosti. Clipper je na XT-u sa PLINK-om bio mnogo brži.
│Da ne pričam o tome da VB sve to radi 100 puta (bukvalno) brže.
└───
Jesi li sigurno koristio Clipper na XT-u? :) Koliko se sećam, u ta davna
vremena (kada je vladao Clipper Summer 87, of course:) PLinku je trebalo
više od minut za linkovanje i na 16 Mhz računarima, tek je TLink to sveo
na razumnih desetak sekundi. Što se Visual Basic-a tiče, no comments -
ne kompajlira ni DOS batch fajlove (a koliko sam gledao VB, on nije
mnogo dalji od toga:) pa je zato tako brz :).
cavo.17jorad,
** Ne bi smeo da se buni za RC.EXE
Probao sam sa .AEF -om i radi bez problema.
Kada smo već kod ovog primera, bilo bi dobro da
ubaciš dva tastera, za "Prethodni" i "Sledeći".
To bi još malo pojasnilo neke stvari.
E, a sada par pitanja. žim oformim novu aplikaciju VO
odmah otvori STANDARD MENUS, STANDARD SHELL i START.
Primer sa .AEF -om otvrara samo START,i sve radi sasvim
lepo. Pa sad, da li su STANDARD MENUS I STANDARD SHELL
neophodni uvek ili su višak povremeno ili...
Probe radi pokušao sam da generišem i program sa "starim"
Clipperom 5.2. Samo jedna petlja i ništa više. Medjutim
on taj kod odmah pretvori u TEXTBLOCK i ništa od daljeg rada.
Kako da ja VO "objasnim" da je to kod a ne komentar?
Negde sem u jednom trenutku naleteo na opciju koja me je
pitala za ime startnog modula, ali sada ne mogu da je
nadjem ni pod razno.
idemo dalje...
cavo.18vcalic,
>> ne kompajlira ni DOS batch fajlove (a koliko sam gledao VB, on nije
>> mnogo dalji od toga:) pa je zato tako brz :).
Ponekad se baš zabrinem za tebe ;)
VB podržava sve mogućnosti Windows-a, ako ništa ono zbog toga što
podržava API pozive. ;) Zapravo, iako to baš nije preporučljivo u VB-u je
moguće ceo progam napisati isključivo korišćenjem Win API-ja.
Vlada
cavo.19bulaja,
│ Kada smo već kod ovog primera, bilo bi dobro da
│ ubaciš dva tastera, za "Prethodni" i "Sledeći".
└───
Naravno da bi trebalo, ali sačekaj malo - sledeći put se igramo sa
menijima i ToolBar-om :). Ipak taj sledeći put će sačekati nekoliko
dana (tj. sledeću nedelju:) sem ako se još neko drugi ne potrudi,
pošto trebam da završim neki Clipper/DOS projekat tako da sad nemam
baš mnogo vremena za VO :).
│E, a sada par pitanja. žim oformim novu aplikaciju VO
│odmah otvori STANDARD MENUS, STANDARD SHELL i START.
└───
Kad definišeš novu aplikaciju, odaberi Cancel na "Generate application
framework" (to je treći i poslednji dijalog prozor kod kreiranja nove
app) i ta tri modula neće biti generisana. Takođe ih neće biti ni ako
je u properties stavljeno da program ne koristi GUI klase.
cavo.20bulaja,
CA-VO Tip
Ako vam nekad zatreba da u već započetu aplikaciju ubacite module iz
standardnog kostura VO aplikacije (Standard App Framework), imate ih
sve (sem Start) u .MEF obliku (Module Export File, dakle možete ih
importovati kao kompletne module) u glavnom CAVO direktorijumu:
sdicode.mef 14931 11-01-94 13:59 Standard SDI Window Template
sdimenu.mef 23953 12-22-94 16:10 Standard SDI Menu Template
stdmenus.mef 26485 12-22-94 16:04 Standard MDI Menu Template
stdshell.mef 13430 11-01-94 14:02 Standard MDI Shell Window Template
stdsql.mef 22717 11-01-94 14:05 Standard MDI Shell Window Template with
SQL Support
stdsqlmu.mef 29518 12-22-94 16:04 Standard MDI Menu Template with SQL
Support
cavo.21bulaja,
│VB podržava sve mogućnosti Windows-a, ako ništa ono zbog toga što
│podržava API pozive. ;) Zapravo, iako to baš nije preporučljivo u
│VB-u je moguće ceo progam napisati isključivo korišćenjem Win API-ja.
└───
Pa čitaj do kraja šta sam napisao :)! Poredio sam VB i batch fajlove
zato što se VB programi (uz to što i izgledaju slično:) praktično
interpretiraju prilikom rada (kao i batch datoteke). Da te podsetim,
razgovor je bio o brzini kompajliranja VO i VB, a poređenje je
neodgovarajuće jer VB jednostavno nije potpuni kompajler (ako si
uveren u suprotno, možemo da uradimo jedno poređenje izvršavanja VB
programa, ali please ne u ovoj temi - npr. pc.prog:windows:).
cavo.22.obj,
> Jesi li sigurno koristio Clipper na XT-u? :) Koliko se sećam, u ta davna
> vremena (kada je vladao Clipper Summer 87, of course:) PLinku je trebalo
> više od minut za linkovanje i na 16 Mhz računarima, tek je TLink to sveo
> na razumnih desetak sekundi.
Ni ja se ne sećam tačno vremena, ali je očigledno da Clipper na XT-u
kompajlira _sličnom_ brzinom kao VO na 486/66/16. (Oslanjam se na tvoje
okvirne podatke o brzini, pošto VO ne koristim). Dakle, VO isti posao obavlja
30-ak puta sporije od Clipper-a.
> Što se Visual Basic-a tiče, no comments -
> ne kompajlira ni DOS batch fajlove (a koliko sam gledao VB, on nije
> mnogo dalji od toga:) pa je zato tako brz :).
Slabo si gledao VB. VB je brz zato što ima dobro postavljenu koncepciju.
Pozdrav,
Obrad
cavo.23.obj,
> VB programi (uz to što i izgledaju slično:)
Nemo' da se zavaravaš da sa VO-om, VB-om ili bilo čime sličnim možeš da
napraviš "poseban" ("da ne izgleda slično") program. Iz aviona se odmah vidi
da li je program napisan u VO-u ili VB-u. Da bi se napravio pravi _Windows_
program sa _odgovarajućim_ korisničkim interfejsom, _mora_ se koristiti jedan
od sledeća tri jezika: C, C++ ili BPW. Sve ostalo se koristi za pravljenje
čiste konfekcije, ma koliko se neko zavaravao da će za tri dana učenja
VO-a/VB-a biti u stanju da pravi Microsoft-lookalike aplikacije. Naravno,
mnogi alati (VB, VO, PowerBuilder, ...) su _i napravljeni_ da bi se u njima
pravila konfekcija, ali toga treba biti svestan (a ti, čini mi se, nisi;).
Pozdrav,
Obrad
cavo.24dr.grba,
>> podržava API pozive. ;) Zapravo, iako to baš nije preporučljivo u VB-u je
>> moguće ceo progam napisati isključivo korišćenjem Win API-ja.
Ono jes' da će usput oči da ti pobele od referenciranja literature i helpa,
i da će da traaaaaaaaje, al' nema veze... (:
cavo.25stosic,
> (bukvalno) brze. Stvarno mi nije jasno sta je to toliko pametno sto CA VO
> obavlja citav minut na 66-ici. Kao da svaki bit EXE-a podvrgne proucavanju
> grupe mirovnih pregovaraca pre nego sto ga snimi na disk.
Isto sto i ostali kompajleri i linkeri, malo skrivenije od korisnika.
cavo.26stosic,
> VB je brz zato sto ima dobro postavljenu koncepciju.
Ili zato sto je tatin sin?
cavo.27stosic,
> Probe radi pokusao sam da generisem i program sa "starim"
> Clipperom 5.2. Samo jedna petlja i nista vise. Medjutim
> on taj kod odmah pretvori u TEXTBLOCK i nista od daljeg rada.
> Kako da ja VO "objasnim" da je to kod a ne komentar?
Koristi funkcije i procedure.
CA-VO program pocinje od funkcije (procedure) ili metode: Start.
cavo.28stosic,
> Da bi se napravio pravi _Windows_ program sa _odgovarajucim_ korisnickim
Hello Windows guru!
Sta je to "pravi _Windows_ program" ?
Ako bas hoces da nas prosvetlis: kako se prave DLL-ovi od asemblerskog koda.
cavo.29stosic,
> Btw moze li neko ko ima instaliran nrp. VC++ ili BC++ (imam ja CD, ali
> me mrzi da ga instaliram posto mi C++ vise ne treba:) da posalje njihova
> vremena za navedene operacije npr. za slican "hello, world" primer (pod
> istim uslovima, sto znaci koriscenje i dodatnih biblioteka za user
VO: HELLOAPP
--------------------------
Build 1
Generate EXE 50
Execute 4
MSVC/C++ 1.0: HELLOAPP.MAK
--------------------------
Build HELLOAPP.MAK 51
Execute 1
Da pogledamo source:
VO:HELLOAPP.PRG
---------------
METHOD Start() CLASS App
local oWin as Window
oWin := TopAppWindow{self}
oWin:Caption := "Hello World!"
oWin:Show()
self:Exec()
MSVC:HELOAPP.CCP
----------------
#include <afxwin.h>
class CHelloWindow : public CFrameWnd
{
public:
CHelloWindow()
{ Create(NULL, "Hello World!", WS_OVERLAPPEDWINDOW, rectDefault); }
};
class CHelloApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
BOOL CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
CHelloApp HelloApp;
------------------------------------
Sad je valjda jasno je zasto su mnogi C/C++ programeri uobrazeni (ili se prave)
do krjaja :)
cavo.30stosic,
> VB podrzava sve mogucnosti Windows-a, ako nista ono zbog toga sto
> podrzava API pozive.
I VO, takodje.
cavo.31nbatocanin,
Eto nama nove zanimacije :)) VB vs VO vs C++ ;)
Da kažem i ja koju: prvo, što se tiče VO-a, ni ja nisam preterano
srećan mnogim njegovim osobinama. Ipak, treba imati u vidu da je reč
o verziji 1.0, a i da su alati te generacije tek u začetku. Kladim se
da će za koju godinu slične alatke potpuno okupirati tržište
razvojnih alata. Što se tiče brzine prevođenja, ona je po meni veoma
visoka. Na stranu što se nikad ne prevodi ceo modul, nego samo
procedura (entitet) koju si menjao. Mislim da sa brzinom prevođenja
sigurno neće biti problema i na sporijim mašinama. Što se tiče
pravljenja EXE-a, ono još kako-tako (retko se koristi). Ali, da li je
neko startovao generator izveštaja? Ako niste, nemojte ;( Oću da
kažem, ne verujem da je tu nešto kriv VO: očigledno integrisana
okolina ima poseban modul za te stvari i dok se to učita... E sad:
dal' je tu kriv Win ili VO, nemam pojma.
Što se tiče pravljenja _pravih_ Win programa, "ma šta to značilo"(*),
mislim da grešiš. VO je pravi kompajler i kao takav ima teorijske
preduslove baš kao i bilo koji C kompajler da "pravi prave programe"
- bar ja ne vidim nikakvu prepreku? Da budem precizniji: ne postoji C
kod za koji se ne može napisati ekvivalentan u VO - bez ikakvih
biblioteka sa strane. Pretpostavljam da bi C kod bio efikasniji, ali
razlika ne bi smelo da bude više od 5-20%. Za ovo je isključivi
krivac nesavršenost VO-a i ne postoji nijedna meni poznata
konceptualna prepreka da se ovaj odnos ne smanji.
E sad: ako koristiš ugrađene biblioteke za UI, ograničavaš se baš kao
i kod bilo kog C kompajlera kad koristiš neku biblioteku: ako ona
nešto ne dozvoljava, ne preostaje ti ništa drugo nego da to sam pišeš
ili da trpiš ;)
> Da bi se napravio pravi _Windows_ program sa _odgovarajućim_
> korisničkim interfejsom, _mora_ se koristiti jedan od sledeća tri
> jezika: C, C++ ili BPW.
Ovo me podseća na ono od ranije da se _pravi_ program mora pisati na
mašincu ;)
(*) što reče jedan moj prijatelj koji će već sam da se prepozna ;)
cavo.32.obj,
>> VB je brz zato sto ima dobro postavljenu koncepciju.
>
> Ili zato sto je tatin sin?
Ili, u prevodu, "Microsoftovi programi su dobri zato što koriste
nedokumentovane pozive Windows-a". Smešno.
Ako si imalo objektivan, moraš priznati da poznavanje nedokumentovanih poziva
i sličnih gluposti nema _blage veze_ sa brzinom kompajliranja.
Pozdrav,
Obrad
cavo.33.obj,
> Sta je to "pravi _Windows_ program" ?
Iako je pitanje retoričko, pokušaću: razlika između pravog i prosečnog Windows
programa je što ovaj prvi istinski koristi sve prednosti grafičkog interfejsa
čak i po cenu da je programer morao žestoko da se potrudi da to obezbedi, dok
je ovaj drugi zapravo DOS text-mode program koji sticajem okolnosti (npr. zato
što DOS izlazi iz mode) radi pod Windows-ima.
> Ako bas hoces da nas prosvetlis:
Sorry, nemam nameru da ikoga prosvećujem.
> kako se prave DLL-ovi od asemblerskog koda.
Pitanje je previše uopšteno. Za tako nešto ti je potreban (mrski ti)
Windows SDK (odn. odgovarajući alati: običan asembler, Windows linker i
nešto dokumentacije). Što se DLL/VBX-ova i Visual Basic-a tiče, biće jedan
tekst o tome u ""Računarima"". Koliko mi je poznato, i Visual Objects
delimično podržava VB API.
Pozdrav,
Obrad
cavo.34.obj,
> Sad je valjda jasno je zasto su mnogi C/C++ programeri uobrazeni (ili se
> prave) do krjaja :)
Pre će biti da si ti malo sujetan nego što su C/C++ programeri uobraženi.
Pozdrav,
Obrad
cavo.35.obj,
> Ipak, treba imati u vidu da je reč o verziji 1.0, a i da su alati te
> generacije tek u začetku. Kladim se da će za koju godinu slične alatke
potpuno
> okupirati tržište razvojnih alata.
Zar nisu već?
Naša mišljenja oko "tih" alata se uopšte ne razlikuju. Ono što sam ja
primetio, to je da se neki programeri koji koriste isključivo VO & Co.
zavaravaju da sa svojim alatkama mogu nešto da urade na tržištu koje drže
"C/C++" programeri. Ja samo tvrdim da se varaju.
> E sad: dal' je tu kriv Win ili VO, nemam pojma.
Kriva je koncepcija: kada su projektovali "to što radi očajno sporo", nisu
hteli da učine nikakav kompromis, a to uvek rezultuje očajno sporim
programima.
> Što se tiče pravljenja _pravih_ Win programa, "ma šta to značilo"(*),
> mislim da grešiš. VO je pravi kompajler i kao takav ima teorijske
> preduslove baš kao i bilo koji C kompajler da "pravi prave programe"
> - bar ja ne vidim nikakvu prepreku? Da budem precizniji: ne postoji C
> kod za koji se ne može napisati ekvivalentan u VO - bez ikakvih
> biblioteka sa strane.
Ne mogu da tvrdim suprotno pošto ne poznajem VO. Međutim, evo jednog primera:
projekat koji trenutno završavam podržava hipertekst. Dakle, korisnik može da
prilikom pregledanja dokumenata pravi i koristi lokalne (privatne) i globalne
(na celoj mreži) hiperlinkove - da povezuje delove teksta sa anotacijama,
drugim dokumentima, OLE objektima i drugim aplikacijama, uz odgovarajući
vizuelni interfejs (na neki način sličan WinHelp-ovom hipertekstu). Voleo bih
da mi neko pokaže kako to da uradim u VO ili VB. Da se zadržim samo na ovom
primeru.
> Ovo me podseća na ono od ranije da se _pravi_ program mora pisati na
> mašincu ;)
Daleko od toga. Ako za program dobijam dovoljno velike pare, uvek ću ga radije
napisati u C-u ili C++-u nego u VB ili VO. Malo je teže krenuti na početku,
ali se kasnije uvek isplati. Kada pokažeš čoveku na koje sve načine možeš da
proširiš njegovu aplikaciju, zaista mu je teško da odoli.
Pozdrav,
Obrad :)
cavo.36vcalic,
>> Ono jes' da će usput oči da ti pobele od referenciranja literature i
>> helpa, i da će da traaaaaaaaje, al' nema veze... (:
Nije baš tako. U principu, razvoj Win programa traje kraće od
DOS ekvivalenta. Problem je samo što je u pitanju nova stvar, pa se treba
navići na drugačiju filozofiju, nakon toga sve ide mnogo brže i jednostavnije.
Vlada
cavo.37vcalic,
>> Što se tiče pravljenja _pravih_ Win programa, "ma šta to značilo"(*),
>> mislim da grešiš. VO je pravi kompajler i kao takav ima teorijske
>> preduslove baš kao i bilo koji C kompajler da "pravi prave programe"
>> - bar ja ne vidim nikakvu prepreku? Da budem precizniji: ne postoji C
>> kod za koji se ne može napisati ekvivalentan u VO - bez ikakvih
>> biblioteka sa strane.
A to isto važi i za ostale alate slične namene. Ipak, to nije njihova
namena, ako već radiš na nivou API-ja onda je bolje odmah uzeti C ili C++,
tzv. vizuelni alati ipak donose mnogo 'overhead'-a kako u veličini koda, tako
i u brzini.
Vlada
cavo.38vcalic,
>> vizuelni interfejs (na neki način sličan WinHelp-ovom hipertekstu). Voleo
>> bih da mi neko pokaže kako to da uradim u VO ili VB. Da se zadržim samo na
>> ovom primeru.
Pa, ne znam za VO, ali imam utisak da se VB često koristi baš u te
svrhe!? Hint: OLE VBX-ovi i slične zezalice...
Vlada
cavo.39vcalic,
>> Ili zato sto je tatin sin?
Pa, da. Opšte je poznato da API funkcija WinEXEC ima u sebi kod koji
proverava Version Info string i ako u njemu ne pronađe niz "Microsoft Corp."
aktivira Hook funkciju koja pri svakom pozivu API-ja dodaje jednu mrtvu
petlju, u cilju što većeg usporenja ne-MS programa...
Vlada
cavo.40vcalic,
>> Sad je valjda jasno je zasto su mnogi C/C++ programeri uobrazeni (ili se
>> prave) do krjaja :)
žitaj, jasna je tvoja isfrustriranost C-om...
Vlada
cavo.41goxx,
■ po tim vremenima koje navodite, VO je, po meni, na ivici
■ upotrebljivosti. Clipper je na XT-u sa PLINK-om bio mnogo brži.
Mislim da nisi u pravu što se tiše Clipper-a i PLINK-a. PLINK je bio
ubitačno spor. Sećam se slučaja kad sam u 5 sati (17.00h) pustio linkovanje
i otišao preko puta u prodavnicu po četvrt hleba i 200g parizera. Požurio
sam nazad da u 17.05 slušam dnevnik B92 (tad je bio mnogo popularan :).
Dnevnik je počeo, a PLINK86 završio linkovanje :)
Goran
cavo.42goxx,
■ (oOpen := OpenDialog š self, "*.dbf" ć ):Show()
...
■ oData := DataWindow š self ć
...
■ oData:Use(DBServer šoOpen:FileName, DBSHARED, oOpen:ReadOnly, "DBFCDX"ć)
Pošto još nemam VO (po svemu sudeći firma će ga kupiti u inostranstvu),
ajde neka neko napiše nešto o ovoj sintaksi sa vitičastim zagradama jer
mi baš nije najjasnija.
Goran
cavo.43bulaja,
│Pošto još nemam VO (po svemu sudeći firma će ga kupiti u inostranstvu),
│ajde neka neko napiše nešto o ovoj sintaksi sa vitičastim zagradama jer
│mi baš nije najjasnija.
└───
Jednostavno :), za razliku od procedura, funkcija i metoda gde se
argumenti odvajaju običnim zagradama (), kod pozivanja klasa (kod
kreiranja objekata) argumente navodiš u vitičastim zagradama { }.
Dakle umesto TBrowseDB ( ... ), samo ide TBrowseDB { ... }.
cavo.45stosic,
>> kako se prave DLL-ovi od asemblerskog koda.
>
> Pitanje je previse uopsteno.
Ocekivao sam nesto ovako. Bar da si pokusao!
cavo.46stosic,
REPLY
15.34 (.obj)
> Pre ce biti da si ti malo sujetan nego sto su C/C++ programeri uobrazeni.
15.40 (vcalic)
> Citaj, jasna je tvoja isfrustriranost C-om...
Predavali su mi, nazalost:)), Joza i Laslo.
Nadam se (i dalje) da na sezamu ima C/C++ windows programera koji
osim sto navracaju u ovu conf. mogu i da pomognu.
cavo.47.obj,
>>> kako se prave DLL-ovi od asemblerskog koda.
>>
>> Pitanje je previse uopsteno.
>
> Ocekivao sam nesto ovako. Bar da si pokusao!
Ajde, ajde, nemoj tako... :))
Poslaću ti jedan template sutra. Tek toliko da vidiš da C programeri nisu
toliko uobraženi koliko ti se čini.
Pozdrav,
Obrad
cavo.48dpredovic,
Subject: Re: Imenik
> Naravno da bi trebalo, ali sačekaj malo - sledeći put se igramo sa
> menijima i ToolBar-om :). Ipak taj sledeći put će sačekati nekoliko
> dana (tj. sledeću nedelju:) sem ako se još neko drugi ne potrudi,
Evo i ja malo da se potrudim... U prilogu je .aef do sada najtraženije
VO aplikacije - telefonski imenik ;)
Nisu još završene sve opcije, ali može da se vidi da mi prilično lepo ide :)
cavo.49dpredovic,
> je, po meni, na ivici upotrebljivosti. Clipper je na XT-u sa PLINK-om bio
> mnogo brži. Da ne pričam o tome da VB sve to radi 100 puta (bukvalno)
> brže. Stvarno mi nije jasno šta je to toliko pametno što CA VO obavlja
> čitav minut na 66-ici. Kao da svaki bit EXE-a podvrgne proučavanju grupe
> mirovnih pregovarača pre nego što ga snimi na disk.
Ako upoređujemo Clipper i VO onda pravo poređenje nije XT Plink <-> 486 VO,
nego 486 Exospace <-> 486 VO. Razlika i nije nešto dramatična, a zaklučak
bi mogao da bude da ljudi prosto ne znaju da naprave (kupe) pošten linker.
cavo.50dpredovic,
Subject: Re: VO vs VB
> da li je program napisan u VO-u ili VB-u. Da bi se napravio pravi
> _Windows_ program sa _odgovarajućim_ korisničkim interfejsom, _mora_ se
> koristiti jedan od sledeća tri jezika: C, C++ ili BPW. Sve ostalo se
> koristi za pravljenje čiste konfekcije, ma koliko se neko zavaravao da će
> za tri dana učenja VO-a/VB-a biti u stanju da pravi Microsoft-lookalike
> aplikacije. Naravno,
VB je kod mene na disku izdržao nekoliko dana, taman koliko mi je trebalo
da utvrdim da se od toga leba neću najesti. VC se još uvek drži, ali od
njega to i ne očekujem ;)
Fazon i jeste u tome od baze podataka niko i ne očekuje da izgleda kao
DOOM II. Baze _moraju_ da budu proste, uniformne, jeftine, pouzdane i
brze - ili drugim rečima - čista konfekcija.
Microsoft je svoj look&feel za baze podataka definisao u Accesu. Lično,
meni se taj UI najviše i dopada, ali ne mogu da zahtevam od korisnika
Pentium sa 16MB da ne bi osedeo dok ovaj "porodi" masku.
Ko voli nek izvoli...
cavo.51jorad,
>> Evo i ja malo da se potrudim... U prilogu je .aef
>> do sada najtraženije...
Pa gde je taj prilog?
cavo.52.obj,
Kao što obećah - poklon za CA VO fanatike: template za DLL u asembleru.
Potrebni su TASM 2.0+, TLINK 4.0+, RC, MAKE. DLL sadrži jednu funkciju,
"TestFunc", koja prihvata jedan string i vraća integer, konstantu 5. Primer
pozivanja u Visual Basic-u:
Declare Function TestFunc Lib "ASMDLL.DLL" (ByVal S As String) As Integer
Sub Form_Click ()
Print TestFunc("qwewqerqwer")
End Sub
A sada navalite na pisanje savršene funkcije YuIndex. ;>>
Pozdrav,
Obrad
asmdll.zipcavo.53dpredovic,
Subject: Re: Imenik
>> Telefonski imenik
Uhh, zaspao sam čekajući connect :(, pa nije imao ko da udari pgup.
Evo ga imenik.aef, iz drugog pokušaja.
imenik.zipcavo.54jorad,
ż >> Evo ga imenik.aef, iz drugog okušaja.
Negde su duplirani nazivi metoda u .AEF-u
te se nemože importovati :((( .
'Ajd budi drug pa ponovo pošalji.
cavo.55cnenad,
ŁŁŁ Negde su duplirani nazivi metoda u .AEF-u
ŁŁŁ te se nemože importovati :((( .
Kod mene je import prošao sasvim OK.
Nažalost, za razvoj programa koliko toliko se može otrpeti sporost.
Startovanje i rad sa napravljenim programom su ubitačni.
cavo.56nbatocanin,
> Zar nisu već?
Ne bih rekao. Prelazak na novu razvojnu alatku je jako skup i
dugotrajan proces i ne verujem (a za neke i znam) da bilo koja
ozbiljna softverska kompanija može za nekoliko meseci preći na novu
alatku. Problem je postojeći kod: ni jedna od novih alatki ne nudi
_potpuno_ bezbolan prelaz sa postojećeg koda. Oni što počinju da pišu
iz početka još uvek nisu u igri. Sve u svemu, potrajaće to još malo.
> Ono što sam ja primetio, to je da se neki programeri koji
> koriste isključivo VO & Co. zavaravaju da sa svojim
> alatkama mogu nešto da urade na tržištu koje drže "C/C++"
> programeri. Ja samo tvrdim da se varaju.
Kao što se i C/C++ programeri zavaravaju da mogu nešto da učine na
onom drugom tržištu ;) žuj, tržište je to ...
> Ne mogu da tvrdim suprotno pošto ne poznajem VO. Međutim,
> evo jednog primera: projekat koji trenutno završavam
> podržava hipertekst.
Pre nekoliko godina su kolege iz Vinče napravile pravu hipertekst bazu
podataka o kulturnom blagu Srbije. Na ekranu je slika manastira,
klikneš na krov, on ti da sliku krova, informacije da je sagradio taj
i taj, ... Onda klikneš na neku reč u tekstu, dobiješ podatke o tome,
itd. Program je urađen u Clipper-u S'87. Hoću da kažem, ovde nijedan
nedostak p-koda ne dolazi u prvi plan.
OK, VO nije pravljen da bude razvojni alat za Word 7.0, tu se naravno
slažemo. Ali, zamena p-koda pravim prevodom daje nove mogućnosti, a
kako će ko to iskoristiti... Teorijski, VO ima sve C tipove podataka,
otprilike pokriva skup "niskih" C operatora (rad sa pointerima, cast
operator, bit operacije). "Viši" operatori su naravno bolji nego kod
C-a, možeš da koristiš Win API, brzina koda je tu negde - zašto se ne
bi moglo uraditi _skoro_ bilo šta?
Nasuprot ovome, ubeđen sam da će p-kod u budućnosti biti
preovlađujući rezultat rada kompajlera. Razmislite samo: p-kod je
obično kraći od pravog prevoda, lakše se prenosi na druge računare,
njegove instrukcije se mogu bolje prilagoditi problemu od mašinskih,
a sa druge strane brzina postaje sve manje značajna.
> Daleko od toga. Ako za program dobijam dovoljno velike
> pare, uvek ću ga radije napisati u C-u ili C++-u nego u VB
> ili VO. Malo je teže krenuti na početku, ali se kasnije
> uvek isplati.
Naravno, svako će izabrati rad u jeziku sa kojim je trenutno "na ti"
:)
> Kada pokažeš čoveku na koje sve načine možeš da proširiš njegovu
> aplikaciju, zaista mu je teško da odoli.
Na primer?
cavo.57nbatocanin,
> A to isto važi i za ostale alate slične namene.
Ali ne i za faktor "brzina izvršavanja". Ako treba nešto žešće
računati, p-kod je previše spor.
> bolje odmah uzeti C ili C++, tzv. vizuelni alati ipak
> donose mnogo 'overhead'-a kako u veličini koda, tako i u
> brzini.
Upravo o tome i pričam: VO toga ima mnogo manje kao pravi kompajler.
Što se tiče veličine koda, alatke VO-a generišu _source_ kod, koji u
krajnjoj liniji i ne moraš primeniti.
cavo.58.obj,
>> Zar nisu već?
>
> Ne bih rekao. Prelazak na novu razvojnu alatku je jako skup i
> dugotrajan proces
Slažem se, ali ja sam komentarisao tvoje "...alatke će preplaviti tržište"
(ako se dobro sećam, pošto brišem sve poruke čim ih pročitam). Možda ljudi još
nisu _prešli_ na te alatke, ali one jesu preplavile tržište.
> žuj, tržište je to ...
Naravno. Postoje, međutim, na tržištu i trendovi koji se nešto kasnije pokažu
kao promašeni.
>> Kada pokažeš čoveku na koje sve načine možeš da proširiš njegovu
>> aplikaciju, zaista mu je teško da odoli.
>
> Na primer?
Na primer, pretraživanje tzv. "memo polja" po sadržaju (naravno, mora raditi
približno trenutno na veoma velikim količinama podataka reda više desetina
megabajta). Tu je i najobičnija komunikacija među programima u mreži. Pa rad
sa specifičnim hardverom (npr. obezbeđenje objekata, programi koji ne smeju da
puknu u DOS sa "variable xyz not found, line 234, module abc" a da obično
vođenje disk log-a zaguši računar). Itd, itd. Naravno, naravno, može to i u
ROM BASIC-u.
To su sve potrebe našeg dragog nam trulog kapitalističkog sveta koji neće da
trpi objašenjenja tipa "kompjuter to ne može", "pokvario se disk, morate
kupiti novi" i fazone sa podmićivanjem direktora. A ako se ne preraste taj
stadijum, ni CA VO ni VB ni C++ ni asembler nam neće pomoći.
Opet, neko ko hrani decu prodajom raznih varijanata "magacina", "prodavnica"
ili "plata" (da se razumemo, nimalo ne potcenjujem navedene primene) možda čak
uopšte ne može da shvati da postoji nešto drugo, sa možda čak i mnogo
kulturnijim i ozbiljnijim tržištem.
Pozdrav,
Obrad
cavo.59mdrazic,
> Na primer, pretraživanje tzv. "memo polja" po sadržaju (naravno, mora
> raditi približno trenutno na veoma velikim količinama podataka reda više
> desetina megabajta).
Ne vidim brže rešenje od omraženog Clipper-a uz recimo SiX ili Comix
drajver sa RYO (roll your own) indeksima (uz opcioni tezaurus).
Ovi indeksi ti omogućavaju potpunu slobodu i kontrolu šta ide a šta
ne ide u index. A kada imaš index (B stablo u osnovi), traženje je
trenutno. Još mi omraženi Clipper-aši imamo mogućnosti trivijalno
jednostavnog prelaska na client/server verziju istog softvera
(Advantage RDD), pa se tada sve odvija na serveru. Šta od sličnih
mogućnosti postoji u tvom omiljenom (najboljem) jeziku?
> Tu je i najobičnija komunikacija među programima u
> mreži.
A šta tu ne može da se uradi iz Clipper-a ?
> Pa rad sa specifičnim hardverom (npr. obezbeđenje objekata,
> programi koji ne smeju da puknu u DOS sa "variable xyz not found, line
> 234, module abc"
A kada ti dobiješ neki overflow? Mogućnosti error sistema u Clipperu
su veće od bilo čega što sam video na C/C++ do sada (to ne znači da ti
to nisi bolje uradio ako si takvo šta razvijao). A za C programe je
poznato da nikad ne 'pucaju' ? :)
> To su sve potrebe našeg dragog nam trulog kapitalističkog sveta koji neće
> da trpi objašenjenja tipa "kompjuter to ne može"
Za dosadašnje učesnike ove diskusije na strani Clipper-a ti odgovorno
tvrdim da ovako nešto nikada nikome nisu rekli. To i nema veze sa
izborom jezika, već su druge stvari u pitanju.
> morate kupiti novi" i fazone sa podmićivanjem direktora. A ako se ne
??? šta je pisac ovim hteo da kaže? Je li to 'kiselo je grožđe'
tip argumentacije?
> Opet, neko ko hrani decu prodajom raznih varijanata "magacina",
> "prodavnica" ili "plata" (da se razumemo, nimalo ne potcenjujem navedene
> primene) možda čak uopšte ne može da shvati da postoji nešto drugo, sa
> možda čak i mnogo kulturnijim i ozbiljnijim tržištem.
Niko odavde nije tvrdio da Clipper bolji za real-time processing od
recimo C/C++ ili asemblera. Ni za pisanje tekst procesora. A kamo li
za operativne sisteme :). Upravo te individue sa 'kulturnijih i
ozbiljnijih tržišta' (željno čekam dalju argumentaciju za 'kulturnije' i
'ozbiljnije') potcenjuju kao što vidimo rad svojih kolega iz drugih oblasti
(baze podataka), kao i same probleme (poslove) koje ovi rešavaju.
Milan
cavo.60djelovic,
> Mogućnosti error sistema u Clipperu su veće od bilo čega što sam
> video na C/C++ do sada
Nisi dobro gledao :). C++ nudi izuzetke koji su manje-više svuda prihvaćeni
kao najbolje rešenje za error handling.
cavo.61.obj,
> A kada imaš index (B stablo u osnovi), traženje je trenutno.
Jesi li siguran da si razumeo o čemu ja pričam?
> Još mi omraženi Clipper-aši imamo mogućnosti trivijalno jednostavnog
> prelaska na client/server verziju istog softvera (Advantage RDD),
> pa se tada sve odvija na serveru.
Don't make me laugh. Uzgred, od kada su Clipper-aši "omraženi"?
> to nisi bolje uradio ako si takvo šta razvijao). A za C programe
> je poznato da nikad ne 'pucaju' ? :)
Pucaju, svakako, ali ne na takvim glupostima kao što je pogrešno spelovano
ime promenljive u sorsu.
>> To su sve potrebe našeg dragog nam trulog kapitalističkog sveta ko
>> da trpi objašenjenja tipa "kompjuter to ne može"
>
> Za dosadašnje učesnike ove diskusije na strani Clipper-a ti
> odgovorno tvrdim da ovako nešto nikada nikome nisu rekli.
?!? Ko je tvrdio suprotno??
Uzgred, ne sećam se da je iko u ovoj diskusiji u negativnom kontekstu
pominjao Clipper, pa ne vidim zašto bi neki bili "na njegovoj strani".
> potcenjuju kao što vidimo rad svojih kolega iz drugih oblasti
> (baze podataka), kao i same probleme (poslove) koje ovi rešavaju.
A šta je to pisalo u mojoj poruci? Ništa drugo do...
> da se razumemo, nimalo ne potcenjujem navedene primene
Pozdrav,
Obrad
cavo.62dvesic,
>> Pucaju, svakako, ali ne na takvim glupostima kao što je
>> pogrešno spelovano ime promenljive u sorsu.
Pogrešno spelovano ime ? Dodaš jedno /es2 i imaš apsolutno isti
nivo kao C kompajler :) , tj. kada naiđe na nedeklarisanu promenljivu
prevođenje stane.
cavo.63cnenad,
Da li se može uraditi upgrade na Build 427 ako je već urađen upgrade na build
424 sa verzije 1.0a ?
cavo.64pirke,
>>> Ne vidim brze resenje od omrazenog Clipper-a uz recimo SiX ili
----------
>>> trenutno. Jos mi omrazeni Clipper-asi imamo mogucnosti trivijalno
--------
Ko je rekao omrazeni? Complex?
>>> jednostavnog prelaska na client/server verziju istog softvera
He, he nasmeja se on zagorski :)
>>> A kada ti dobijes neki overflow? Mogucnosti error sistema u
>>> Clipperu su vece od bilo cega sto sam video na C/C++ do sada (to
He, he nasmeja se on na isti nacin kao i malo pre. Vecina clipper
programa, ako im nesto smutis u config-u npr. izbace nesto kao:
Line xxx, ovo ono, Abort,Retry...
>>> tvrdim da ovako nesto nikada nikome nisu rekli. To i nema veze sa
Pa bilo bi vreme da pocnu. Kad budu videli nesto drugo pocece.
>>> ??? sta je pisac ovim hteo da kaze? Je li to 'kiselo je grozde'
>>> tip argumentacije?
Ne znam koji je to tip argumentacije bio coveku, ali cini mi se da
nije kiselo grozdje vec surova realnost. :(
>>> 'ozbiljnije') potcenjuju kao sto vidimo rad svojih kolega iz
>>> drugih oblasti (baze podataka), kao i same probleme (poslove) koje
>>> ovi resavaju.
Ja radim na toj "drugoj oblasti" (baze podataka), nekad sam radio i
na "prvoj oblasti" (podrska specificnog hardvera kao i izrada istog)
i ne potcenjujem ni jednu oblast, ali ti mislis da te svi mrze i
potcenjuju. Oni koji potcenjuju bez argumentacije sigurno nisu probali
ovu drugu oblast. Ja MOZDA potcenjujem kliper, ali to je samo zato sto
nisam do sada video ni jedan clipper program koji bi mojim kriterijumima
bio O.K. Ali, priznaces, na trzistu ima TOLIKO sr*nja da je to neverovatno
a vecina toga je pisano kliperom, pa je averzija prema kliperu normalna.
DP...
P.S. Kad smo vec kod alata: Kad ce, bre, taj DELPHI kod nas, pa da se vise
ne zezamo :)
cavo.65dvesic,
>> He, he nasmeja se on na isti nacin kao i malo pre. Vecina
>> clipper programa, ako im nesto smutis u config-u npr. izbace
>> nesto kao: Line xxx, ovo ono, Abort,Retry...
He, he, baš me zanima kako bi ovo izveo ! :)
cavo.66goxx,
■ Ja MOZDA potcenjujem kliper, ali to je samo zato sto nisam do sada video
■ ni jedan clipper program koji bi mojim kriterijumima bio O.K. Ali,
■ priznaces, na trzistu ima TOLIKO sr*nja da je to neverovatno a vecina
■ toga je pisano kliperom, pa je averzija prema kliperu normalna.
Dobro. Daj nam tvoje kriterijume da vidimo da li svi ovde prave sr*nje
programe. Ako je tako da pređemo na neki drugi jezik, a ako nije da ti
pokažemo takve programe koji bi te zadovoljili :).
Fala bogu što VO ima u sebi 95% clipper-a. (da ne bude suva diskusija
o clipperu; ipak je ovo tema CAVO :).
Goran
cavo.67madamov,
> Ne vidim brze resenje od omrazenog Clipper-a uz recimo SiX ili
> trenutno. Jos mi omrazeni Clipper-asi imamo mogucnosti trivijalno
> jednostavnog prelaska na client/server verziju istog softvera
Šta smatraš client/server verzijom? Client šalje zahtev, server obradi i
šalje rezultat Client-u? Hm, nešto mi se čini da Clipper nema tako nešto. Ako
se varam, tim bolje, ali samo da razlučimo da li mislimo na istu stvar.
Client/Server arhitektura nije isto što i kada ti program radi u mreži bez
dorađivanja. Dakle, na primer, kod Client/Server arhitekture i nekog
pretraživanja kroz mrežu ne putuju svi rekordi pa se onda na lokalnom računaru
vrši pretraživanje, već Client šalje zahtev za pretraživanje serveru, ovaj
pretražuje i šalje rezultat, tj. rekorde koji zadovoljavaju uslov iz zahteva,
lokalnom računaru. Neki alati (s jednim takvim radim) idu čak i dalje, tj.
ukoliko zahtev sadrži samo jedno polje koje mu je potrebno, Server će poslati
kroz mrežu samo ta polja iz rekorda koji zadovoljavaju uslov.
cavo.68bulaja,
│Da li se može uraditi upgrade na Build 427 ako je već urađen upgrade
│na build 424 sa verzije 1.0a ?
└───
Tebi sam već odgovorio, ali možda odgovor zatreba još nekome - može :).
cavo.69stosic,
>> Mogucnosti error sistema u Clipperu su vece od bilo cega sto sam
>> video na C/C++ do sada
>
> Nisi dobro gledao :). C++ nudi izuzetke koji su manje-vise svuda prihvaceni
> kao najbolje resenje za error handling.
Gledao sam ja u help za MSVC/C++ v1.0, a tamo: This product does not support
try (moguce je da je Microsoft to resio u novijim verzijama). Mogao si da
naglasis gde si ti gledao (u Borland-a ?).
cavo.70stosic,
> Kao sto obecah - poklon za CA VO fanatike: template za DLL u asembleru.
CA-VO (ovako se ispravno pise) fanatici ce nekoga da biju :)))
Tvoj primercic u VO malo radi, a malo ne radi. Windows API funkcije rade bez
greske! Jel' se ti zezas il' ne znas da napravis "foreign-hosted" DLL?
Da te utesim: napravio sam u MSVC-u dll sa i _inp() i _outp() funkcijama.
DLL radi u VB (jaka referenca), ali ne i u VO. Mozda "tata" ima neku tajnu koju
nije sapnuo momcima iz CA?
> A sada navalite na pisanje savrsene funkcije YuIndex. ;>>
Od silne kritike na racun VO izgleda da nepratis pazljivo pc.prog.windows?
Posao mi stoji zbog par funkcija kojih nema(?) u Windows API-ju: IN, OUT
(, CLI, STI).
Ostaje da sacekam: neki FUNCKy za VO ili da neko ko zna C/C++
objasni javnosti KAKO SE PRAVI "FOREIGN-HOSTED" DLL.
Pozdrav, Boban
cavo.71nbatocanin,
> Šta smatraš client/server verzijom? Client šalje zahtev,
> server obradi i šalje rezultat Client-u? Hm, nešto mi se
> čini da Clipper nema tako nešto.
Nije baš za ovu temu, ali kad smo pomenuli: Clipper bazi podataka
pristupa preko RDD-a. To je skup standardnih funkcija koje obezbeđuju
sve potrebne operacije sa bazom. Izmenom RDD-a se može potpuno
promeniti ne samo format podataka kojima se pristupa (na primer,
Paradox tabele), nego i princip pristupa. Pri tome se NE menja
program - naredbe ostaju potpuno iste. Postoje RDD-ovi koji
omogućavaju pravljenje pravih client-server programa. Sastoje se iz
dva dela: jedan je NLM koji ide na server, a drugi je klasičan RDD
koji se ulinkuje u program. Kada se u programu uradi neka operacija
sa bazom, RDD na klijentu prosleđuje odgovarajući upit serveru.
cavo.72nbatocanin,
>>> Kada pokažeš čoveku na koje sve načine možeš da proširiš
>>> njegovu aplikaciju, zaista mu je teško da odoli.
>
> Na primer, pretraživanje tzv. "memo polja" po sadržaju
> (naravno, mora raditi približno trenutno na veoma velikim
> količinama podataka reda više desetina megabajta).
Hm, ne razumem gde je ovde prednost C-a? Uzgred, VO podržava RYO
indekse koji su kao stvoreni za ovu primenu. Za ostale primere koje
si naveo važi sličan komentar.
U suštini mislim da ti u primerima koje navodiš C kao jezik pruža
manje mogućnosti za "proširenje" nego neki specijalizovani tipa VO.
Zašto? Pa, zato što sve moraš sam da radiš: i pristup bazi, i
grafiku, i pretraživanje, ...
Ako posmatraš C + komercijane biblioteke, onda si otprilike na istom
kao i Clipper programeri ;) U slučaju specijalizovanog alata, pratiš
jednu liniju koju podržava čitav sijaset firmi - nikada ne radiš sam!
Istina je da u C-u skoro uvek možeš da napraviš perfektniji kod, ali
samo do određene granice. Jer, za godinu-dve, ma kako sposoban bio,
nećeš moći da pratiš specijalizovan i dobro finansiran tim. Pogledaj
za primer Clipper: sasvim prosečan programer može da napravi
prosečan program, ali bez ikakvog napora može da ugradi neki RDD koji
mu omogućava stvari za koje će ti biti potrebno najmanje godinu dana
da ih sam napraviš.
cavo.73dpredovic,
Subject: Re: Imenik
> Nažalost, za razvoj programa koliko toliko se može otrpeti sporost.
> Startovanje i rad sa napravljenim programom su ubitačni.
Otprilike :(, a stvar postaje još gora kada se umesto native-DBF drajvera
podmetne neki ODBC.
Može to i bolje!
Napravio sam isti test u Clarionu 4 Win, i mogu da kažem da sve fercera
mnogo bolje: čak i na mojoj mašini (386/4/40) i razvoj i sama aplikacija
rade vrrrlo pristojno.
Zip programa i potrebnih dll-ova ima oko 300K, pa ako ima zainteresovanih,
mogu da ga bacim...
Jedini problem sa Clarionom je što teško da bi mogao da uradim bilo šta
komplikovanije od tel. imenika :) Sve je to odradio generator, a za
komplikovanije stvari ipak mora malo i da se čuka :)
Jezik je (kažu) prost i lak, ali je meni sve tu nekako kontra od onoga
na šta sam navikao.
cavo.74pirke,
>>> Dobro. Daj nam tvoje kriterijume da vidimo da li svi ovde prave
>>> sr*nje programe. Ako je tako da predemo na neki drugi jezik, a ako
>>> nije da ti pokazemo takve programe koji bi te zadovoljili :).
Nemoj da mi podmeces da sam rekao da svi ovde prave sr*nje programe.
Nisam to rekao niti hocu. A sto se tice programa za koje smatram da su
o.k. ... ima ih. Ali nisu pisani u clipper-u :) Salu na stranu voleo
bih da vidim da neko koristi clipper kako mislim da moze sa sve onim
SiX om i sl. Ono sto vidjam je u glavnom bez veze. Ako krenemo sa onim
famoznim UPS-om mozda se sretnemo pa i vidim nesto o.k.
DP...
P.S. Rekoh prosli put da necu nastvaljati i zagadjivati ovu temu, ali
morao sam zbog ovog (verovatno nenamernog) podmetanja. sorry.
cavo.75pirke,
>>> program - naredbe ostaju potpuno iste. Postoje RDD-ovi koji
>>> omogucavaju pravljenje pravih client-server programa. Sastoje se
>>> iz dva dela: jedan je NLM koji ide na server, a drugi je klasican
>>> RDD koji se ulinkuje u program. Kada se u programu uradi neka
>>> operacija sa bazom, RDD na klijentu prosleduje odgovarajuci upit
>>> serveru.
Ovo nisam znao. Znao sam da postoji RDD ali ovako mocan - ne.
So, on se vise ne smeje zagorski :) Samo, ne videh da je to nesto
u siroj upotrebi? Jel to nesto komplikovano ulinkovati ili neki
ljudi jednostavno nemaju interesa da ubrzaju svoje programe?
DP...
cavo.76.obj,
> CA-VO (ovako se ispravno pise) fanatici ce nekoga da biju :)))
Da li si ti pri zdravoj svesti, kada nekome ko pokušava da ti pomogne, i ko je
odvojio svoje vreme da ti besplatno napiše program odgovaraš ovako?!? Neviđeno
si bezobrazan, i zato dobijaš jedan doživotni full ignore.
> Od silne kritike na racun VO izgleda da nepratis pazljivo pc.prog.windows?
Da, nemam pametnija posla nego da pamtim sadržaj tvojih poruka.
Niti u jednoj poruci nisam kritikovao VO. Kritikuje ga tvoja podsvest, koja se
očigledno potpuno otrgla svakoj kontroli.
> Da te utesim: napravio sam u MSVC-u dll sa i _inp() i _outp() funkcijama.
> DLL radi u VB (jaka referenca), ali ne i u VO.
Jedini razumni zaključci izvedeni iz navedenih simptoma mogu biti:
- ti ne umeš da iskoristiš te DLL-ove
- izmenio si moj primer na pogrešan način
- VO ima bag
- ne umeš da koristiš VO
- nemaš uputstvo za VO, a nećeš da čitaš help
- CIA, Vatikan, NATO i Soros te mrze
Što se mog primera tiče, garantujem da je to ispravan Windows 3.1 kompatibilni
DLL. Svake prepravke idu na dušu onoga ko ih vrši. Ko ima ekstra zahteve, neka
plati pa može da dobije šta god mu padne na pamet.
> Mozda "tata" ima neku tajnu koju nije sapnuo momcima iz CA?
Tebi je izgleda za sve probleme kriv tata.
> Posao mi stoji zbog par funkcija kojih nema(?) u Windows API-ju: IN, OUT
> (, CLI, STI).
In, out, cli i sti nisu nikakve funkcije nego instrukcije mikroprocesora.
Pozdrav,
Obrad
cavo.77madamov,
> Sastoje se iz dva dela: jedan je NLM koji ide na server, a drugi je klasičan
> RDD koji se ulinkuje u program. Kada se u programu uradi neka operacija
> sa bazom, RDD na klijentu prosleđuje odgovarajući upit serveru.
Hvala na informacijama. I jedno podpitanje: kad je tako, što se više ne
koristi? Još kad bi se na to dodao interni multitasking, ispalo bi od Clipper-a
nešto slično ovom u čemu ja radim.
cavo.78djelovic,
> Gledao sam ja u help za MSVC/C++ v1.0, a tamo: This product does not support
> try (moguce je da je Microsoft to resio u novijim verzijama). Mogao si da
> naglasis gde si ti gledao (u Borland-a ?).
Gledao sam u ANSI standardu jezika :). Borland C++ podržava izuzetke od
verzije 4.0, a za Majkrosoft ne znam od kada - znam samo da ih novi Visual C++
2.0 podržava.
cavo.79asekulic,
> Da li si ti pri zdravoj svesti, kada nekome ko pokusava da ti pomogne, i ko
> je odvojio svoje vreme da ti besplatno napise program odgovaras ovako?!?
> Nevideno si bezobrazan, i zato dobijas jedan dozivotni full ignore.
Suvise si prepotentan ili takvu sliku o sebi ostavljas pisanjem na sezamu.
Filozofiras, ubedjujes ljude da su autsajderi kada nesto pogresno napisu,
ocekujes novac(?) za malu pomoc, ... Kada nekoga nazoves fanatikom zasluzio
si takav odgovor!!! I jos si iznenadjen i uvredjen?
Da ti objasnim zasto si zamoljen za pomoc:
Clipper pravi DOS aplikacije. Dodatne funkcije se mogu napisati na asembleru
ili C-u. Ceo postupak je detaljno dokumentovan u originalnom uputstvu kao i
u Spence-ovim knjigama (kojih ima u nasim knjizarama). Ne bi mi palo na pamet
da se hvalim svojim besplatno utrosenim vremenom zato sto znam kako se to
radi!
VO pravi Windows aplikacije. Podrzava Windows API funkcije. Kreiranje DLL-ova
na asembleru ili C/C++ nije dokumentovano u uputstvu koje ide uz VO. Druge
literature za VO jos nema u knjizarama. Malo je Clipper programera koji imaju
i originalno uputstvo za neki od C/C++ alata.
Ignore nikome ne dajem kada mi ponestane argumenata, volje i znanja.
Pozdrav, Boban
P.S. Nemoj i prijatelju da dajes ignore samo zato sto mi je omogucio da ti
odgovorim.
cavo.80stosic,
Ozvucite vase aplikacije pomocu Windows API funkcije sndPlaySound.
Prorotip funkcije se nalazi u VO, tako da je dovoljno:
sndPlaySound("d:\win\ringing.wav", SND_SYNC)
Pogledajte Windows SDK help za dodatne informacije.
cavo.81d.petrovic,
> Pucaju, svakako, ali ne na takvim glupostima kao što je
> pogrešno spelovano ime promenljive u sorsu.
To je odavno prevaziđeno, baška ljudi koji pišu u 5.2d a koriste
sintaksu S87
cavo.82.obj,
> ocekujes novac(?) za malu pomoc, ...
Odakle ti ovo, molim te?! :)) NE očekujem nikakav novac za pomoć koju sam
pružio. Očekujem - NAJELEMENTARNIJU KULTURU. Tvoj prijatelj je jednostavno
ne poseduje i ja neću da se natežem oko toga. Jednostavno, čoveku sam dao
ignore i neću više da trošim vreme i živce oko takvih tipova. To mi je nauk
da ubuduće na Sezamu nudim pomoć isključivo ljudima koje poznajem.
> Kada nekoga nazoves fanatikom zasluzio si takav odgovor!!! I jos si
> iznenadjen i uvredjen?
Reč "fanatik" upotrebio sam u pozitivnom, šaljivom kontekstu, što svako sa
najminimalnijim smislom za humor može da zaključi. Da sam hteo da uvredim
nekoga, svakako ne bih pokušavao da mu pomognem. Na kraju, nisam se uopšte
uvredio. Nadam se da više nećemo petljati, ni u ovoj raspravi, a ni inače.
Pozdrav,
Obrad
cavo.83dr.grba,
>>> Od silne kritike na racun VO izgleda da nepratis pazljivo
>> pc.prog.windows?
>>
>> Da, nemam pametnija posla nego da pamtim sadržaj tvojih poruka.
Obrade, u poslednje vreme si jako nadrndan, ko zna zašto. Ali možda ne bi
bilo loše da optrčiš jedan krug pre nego što repliciraš.
>> Tebi je izgleda za sve probleme kriv tata.
Ovoliko na temu tuđeg bezobrazluka. Svaka ti čast. ):
cavo.84nbatocanin,
> Gledao sam u ANSI standardu jezika :). Borland C++
> podržava izuzetke od verzije 4.0, a za Majkrosoft ne znam
> od kada - znam samo da ih novi Visual C++ 2.0 podržava.
Kako tačno ide upotreba? Sintaksa i ostalo?
cavo.85nbatocanin,
> Ovo nisam znao. Znao sam da postoji RDD ali ovako mocan -
> ne. So, on se vise ne smeje zagorski :) Samo, ne videh da
> je to nesto u siroj upotrebi? Jel to nesto komplikovano
> ulinkovati ili neki ljudi jednostavno nemaju interesa da
> ubrzaju svoje programe?
Upotreba je trivijalna - ulinkuješ i voziš :) Jedino što to još uvek
nije ono pravo - testovi pokazuju da se neke operacije veoma
ubrzavaju, ali se neke i usporavaju.
cavo.86nbatocanin,
> Hvala na informacijama. I jedno podpitanje: kad je tako,
> što se više ne koristi? Još kad bi se na to dodao interni
> multitasking, ispalo bi od Clipper-a nešto slično ovom u
> čemu ja radim.
Ne koristi se zbog početnih problema a i zbog toga što još nije stiglo
ovde ;) A u čemu ti radiš?
cavo.87djelovic,
> Kako tačno ide upotreba? Sintaksa i ostalo?
Koriste se tri službene reči, try, catch i throw. Sintaksa je sledeća:
-------------------------------------------------------------------------
try {
... // instrukcije u kojima moze da se "baci" izuzetak
}
catch (tip prom) {
...
}
catch (tip prom) {
...
}
...
catch (tip prom) {
...
}
-------------------------------------------------------------------------
Dakle, izvršava se try blok u okviru koga se u slučaju greške izvršava
naredba throw sa nekim parametrom. U zavisnosti od tipa parametra kontrola se
prosleđuje odgovarajućem catch bloku. Dve stvari je važno naglasiti:
1. try blokovi mogu da se ugnježdavaju, tj. da se iz jednog try bloka
poziva neka funkcija koja ima svoj try blok, iz koga se onda poziva neka
funkcija koja ima svoj try blok, itd. Kada se sa throw baci neka promenjljiva,
kontrola se vraća na odgovarajući catch koji po parametrima odgovara. Taj catch
može da obradi grešku ili da je baci dalje, na sledeći catch blok.
2. Pri izvršavanju naredbe throw sa steka se skidaju svi objekti koji su
kreirani posle odgovarajućeg catch-a, i pozivaju se njihovi destruktori.
Prednost celog ovog sistema za hvatanje grešaka jeste u tome što izuzetno
elegantno omogućuje da se u nekoj rutini uhvati greška koju će baciti neka
druga rutina koja još uvek nije ni napisana, ili čak ne mora ni biti deo iste
biblioteke.
cavo.88stosic,
Window:ButtonClick() je dezurni event hendler za "command events", za slucaje
kada misem kliknete na check box, push button ili radio button.
Pritisak na Esc taster spada, takodje, u grupu "command events" i uzrokuje
WM_COMMAND poruku. Ostaje da se napise ButtonClick() metod za Dialog Box i
omoguci zatvaranje BOx-a.
Method ButtonClick(oCE) class HelpAbout
super:ButtonClick(oCE)
if oCE:message == WM_COMMAND .and. oCE:wParam == 2
self:EndDialog()
end
return
Nije tajna :) da je za pracenje Windows poruka najbolji (meni poznat)
SPY iz paketa Watcom C++ v10.
cavo.89madamov,
> A u čemu ti radiš?
4th Dimension, odnosno u svojoj client/server verziji nosi naziv 4D Server
(skraćeno od 4th Dimension Server). Proizvod francuske firme ACI, za sada ga
ima samo na Meku od 1987. godine, a za sredinu ove godine najavljena i Windows
verzija, mada postoji 4D Open za Windows kojim je moguće, takođe za sada samo
iz Visual Basic-a, kačiti se na 4D Server na Meku. Ima sopstveni programski
jezik, a funkcioniše kao SQL. Jedna od najboljih karakteristika je interni
multitasking, tj. jedan klijent (odnosno, u single-user varijanti, jedan user)
može da pokrene više procesa u isto vreme, a svaki proces ima trenutnu
(current, ne znam bolji prevod) selekciju i trenutni rekord u okviru te
selekcije za svaku od tabela u bazi. Zaključavanje rekorda je automatsko, a
moguće ga je i programski kontrolisati. Na primer, ako se u jednom procesu
korisnik nalazi u ulaznoj masci (input layout-u), tj. modifikuje current
rekord, taj rekord se automatski zaključava za modifikaciju za druge procese.
Ukoliko drugi proces pokuša da prikaže slog u ulaznoj masci, 4D ga obaveštava
da se slog trenutno edituje (obaveštava koji korisnik na mreži i sa koje radne
stanice ga edituje) i otvara ulaznu masku u read-only modu. Ovaj princip
omogućava da kad se aplikacija razvija na single-user 4D-u ona bude spremna za
rad u multi-user okolini bez intervencija. To je ukratko, ako te zanima nešto
više, reci.
cavo.90ikordic,
RE: Clipper -> VO
Koja je trenutna verzija/podverzija CA Visual Objects, odn. da li je i
dalje aktuelna samo pre-release verzija?
Predstoji mi razvoj jedne aplikacije pod Win i portovanje dobrog dela
postojeće sa standardnog Clipper 5.01. Probao sam onaj Clipper 4 Win, ali
nisam oduševljen kako sve to radi. Za sada vršim probe u BC++ 4.0 i
kako-tako - lagano ide. Još nisam stigao do dela u kome se zaista RADI sa
bazom, tako da je pitanje dal' će ovo čudo uopšte proraditi :) Neću ni da
pričam koliko bi mi VO poboljšao produktivnos' i produžio život ... :)
cavo.91stosic,
> Koja je trenutna verzija/podverzija CA Visual Objects, odn. da li je i
> dalje aktuelna samo pre-release verzija?
Zvanicno (od CET-a) da. Poslednja piratska verzija koju sam video ima
oznaku: Version 1.0a Build 418.
Moguce je i da je neko kupovao direktno u inostranstvu.
cavo.92nbatocanin,
> Na primer, ako se u jednom
> procesu korisnik nalazi u ulaznoj masci (input layout-u),
> tj. modifikuje current rekord, taj rekord se automatski
> zaključava za modifikaciju za druge procese.
Pretpostavljam da je vreme izmene ograničeno? Šta ako ovaj startuje
izmenu i ode na kafu?
cavo.93bulaja,
│Koja je trenutna verzija/podverzija CA Visual Objects, odn.
│da li je i dalje aktuelna samo pre-release verzija?
└───
Poslednja zvanična verzija je 1.0a (iz decembra prošle godine), uz
poslednji poznati (nezvaničan?) upgrade v1.0a Build 427 (03.01.95).
cavo.94madamov,
> Pretpostavljam da je vreme izmene ograničeno? Šta ako ovaj startuje
> izmenu i ode na kafu?
Nije, mada nije loša ideja za razmišljanje ovo što kažeš. Doduše, o nekom
hendleru za vreme neaktivnosti već razmišljam, jer kako mi se aplikacija
razvija sve je više ljudi koristi, a kupili smo licencu za šest korisnika.
Naime, 4D Server dozvoljava da instaliraš Cliente na koliko hoćeš mašina, ali
samo šest (u mom slučaju) korisnika može u isto vreme da je "nakačeno" na 4D
Server: kad je svih šest zauzeto sedmi dobija poruku da ne može "unutra". Kako
već imam za svakog korisnika po proces koji se pokreće pri ulasku u aplikaciju
i ostaje aktivan sve vreme rada, a čija je jedina svrha da obaveštava korisnika
o novopristiglim E-mail porukama (doduše, računovođu i knjigovođu obaveštava i
o novopristiglim dokumentima za knjiženje) taman mogu da ga iskoristim i za
proveru vremena neaktivnosti, pa kad ga prekorači jednostavno ga izbacim iz
aplikacije (naravno, uz upozorenje B)). Mada će firma dokupiti licence čim 6
korisnika istovremeno postane malo.
To je jedan način, drugi, i po meni logičniji, pa tako uglavnom i radim, je
da se stvar rešava privilegijama pristupa određenim dokumentima, mada on ne
isključuje mogućnost koju si naveo. Kod 4D je moguće odrediti privilegije na
nivou tabele (4D terminologija tabelu naziva fajl, čitavu bazu database, a
structure su sve tabele i veze između njih), maske, objekata u masci i slično.
Za tabelu se određuje po grupa korisnika za Load, Save, Add i Delete rekorda u
tabeli, tako da ako grupi dodeliš priviligeju za Load, a nema je za Save,
tabela je odmah u read-only stanju za tog korisnika, tj. rekordi iz tabele se
ne zaključavaju za ostale korisnike. Takođe, praktikujem i da programski
određujem u kojem delu je koja tabela read-only za trenutnog korisnika. E, kada
i posle ovoga naleti slučaj koji si naveo, onda mora da je reč o budali, jer
koja bi pametna osoba ostavila uključen računar na izvol'te slučajnim
prolaznicima sa ulaznom maskom na ekranu sa rekordom u kojem su podaci za koje
odgovara?
Postoji i treći način, a to je da administrator na Serveru prekine proces
koji je zaključao rekord, a time rekord otključa za ostale.
Kad smo već kod zaključavanja i otključavanja, object locking nije samo
prisutan kod podataka, već 4D zaključava i objekte u Designer okolini (modu u
kojem se dizajnira baza, tj. piše program) tako da na razvoju aplikacije mogu
istovremeno da rade svi korisnici koji su prijavljeni na 4D Server, tj. u mom
slučaju je moguće da moj kolega i ja u isto vreme razvijamo aplikaciju, dok još
četvoro korisnika radi sa njom. Šta više, tzv. Designer mod je poseban proces
korisnika na Serveru, dok se podacima barata ili radi u aplikaciji u
User/Runtime procesu.
Evo još nekih karakteristika:
4D SERVER
Specifications:
- 125 users maximum (practical limit depends on hardware)
- 128 processes per user maximum
- Unlimited simultaneous transactions
- Unlimited user selections (equivalent to SQL cursor)
Requirements:
- System: Macintosh SE or greater, or Power Macintosh, or Apple Workgroup
Server (System 6.0.7 and ADSP or System 7 or greater)
- Memory: Server - 1.5 MB + 130 KB per connected user
- Memory: Client - 1.5 MB
- Network protocol: AppleTalk, ADSP, TCP/IP
- Network Topology: LocalTalk, Ethernet or Token Ring
4TH DIMENSION
Data:
- 255 files (tables) open simultaneously
- Unlimited relations and sets
- Field types: Alpha, Text, Numeric, Date, Time, Boolean, Picture and
Subfile
- Variable length data storage and BLOBs
- 128 gigabyte data file capacity
- Data recovery tools
Searching and Sorting:
- Multi-criteria relational searching; criteria can be saved and loaded
- Four search interfaces: Search Editor Search by Layout (Example), Search
by Formula, and Search and Modify
- Relational sorting; sort on up to 10 levels
- Searching and sorting on non-indexed fields and calculations
Relations:
- Establish relations by dragging between fields
- One-to-many, many-to-one, and many-to-many relations
- Enter data, search, sort, and report across files without programming
- Referential integrity controls
Interface:
- Object-oriented graphic layout editor with complete control over shapes,
colors, patterns, fonts and styles
- Standard interface objects with automatic actions: buttons, invisible
buttons, radio buttons, check boxes, pop-up menus, rulers, thermometers and
dials
- View records: one at a time, in a list, or in multiple lists
simultaneosly with data from related files
Language:
- For, While, and Repeat structures; local, global, and inter-process
variables; true one and two dimensional arrays; pointers; parameter passing;
functions; object; layout, file and global procedures
- Extend 4D's language with your own routines in Pascal, C, etc.
- Complete graphical Procedure editor with automatic indentation, colored
keywords, search nad replace, and interactive symbolic debugger
- Compatible to 68000/68020/68030/68040 and Native PowerPC code with 4D
Compiler
Requirements:
- Macintosh Plus or greater with a hard disk, or Power Macintosh
- 1. MB of RAM (System 6.0.5. or greater, or System 7 or greater)
cavo.95dpredovic,
Za sada smo ovde uglavnom raspravljali o bangavosti VO razvojnog
okruženja. Takvo je kakvo jeste, a verovatno će u sledećim iteracijama
biti i poboljšano. Ono što je mene iznenadilo je nedorađenost jezika ili
bolje rečeno nedorađenost OO sistema:
Kao prvo, svi parametri metodama prosleđuju se u clipper formatu (sa
runtime tipizacijom umesto stroge tipizacije). Em što se nepotrebno gubi
na performansama, em opet ima mogućnosti za "Argument error". Zašto je
to baš tako, to izgleda samo u CA znaju.
Druga OO nebuloza je što postoje samo PUBLIC metode. Nije strašno, ali
nije niti naročito lepo...
Treće: negde u magli mi se čini da sam jednom uspeo da nateram program
da radi sa nekim klasama definisanim kao static, ali nikako ne uspevam
to da ponovim.
cavo.96aseovic,
Uz ovu i sledeće poruke idu neke sitnice sa MUM-a.
Uživajte:))
-------------------------------------------
BMP.ZIP - Bitmap viewer library/program
bmp.zipcavo.97aseovic,
---------------------------------------
WAPI2.ZIP - Extended Windows API - function declarations
wapi2.zipcavo.98aseovic,
-------------------------------------
WIN_UD.ZIP - Windows functions not defined in VO
win_ud.zipcavo.99aseovic,
-------------------------------------
FOR.ZIP - Foriegn hosted DLL samples
-------------------------------------
Biće još neki drugi put :)))
Sele
for.zipcavo.100aseovic,
Kako da definišem novo dugme za ToolBar?
Da li je uopšte moguće u spisak dugmića koji se dobija prilom definisanja
ButtonBmp-a u Menu Editoru dodati novo?
Sele
cavo.101stosic,
> Kako da definisem novo dugme za ToolBar?
Pogledaj u online help-u: Toolbar:AppendItem() Method.
Evo i primera (za Standard MDI) kako mozes da zamenis dugme za HelpAbout win:
Dopisi:
DEFINE IDB_About := 5000
DEFINE IDT_ABOUT := IDT_CUSTOMBITMAP + 1
RESOURCE IDB_About BITMAP d:\cavo\about.bmp //bmp je 20x16 piksela
Dodaj u Init metod za EMPTYSHELLMENU:
local oBmpAbout as BitMap
oBmpAbout := BitMap{IDB_About}
Izmeni:
//oTB:AppendItem(IDT_HELP,IDM_EMPTYSHELLMENU_Help_About_ID)
oTB:AppendItem(IDT_ABOUT,IDM_EMPTYSHELLMENU_Help_About_ID,oBmpAbout)
cavo.102aseovic,
MUM BBS
------------------------
OESPEC.ZIP - Order Entry Specs 0.9
------------------------
oespec.zipcavo.103aseovic,
---------------------------
PRGGRP.ZIP - Windows Utility for creating groups within groups
---------------------------
prggrp.zipcavo.104aseovic,
Kako podesiti u kom diru se nalaze DBF datoteke?
Na primer, hoću ovakvu strukturu dirova:
ĐTEHNICOM - ovde su DBF datoteke koje su zajedničke za više programa
ĐTEHNICOMĐFISKO - ovde je EXE i rečnik podataka
ĐTEHNICOMĐFISKOĐDATA - ovde su podaci
Kada kreiram DBServer za datoteku VO mi kao ime fajla unese puno ime
datoteke. Kasnije to ime podeli na ime samog DBF fajla i na putanju:
CLASS <dbfName> INHERIT DBServer
INSTANCE <dbfName>_DBF_PATH := <putanja> AS String
i tu putanju kasnije koristi.
To je baš ono što ne želim:) Hoću da program za vreme izvršavanja
na osnovu podataka iz rečnika sazna gde se nalazi datoteka i da to
koristi.
Rešenje koje mi se nameće je da u <dbfName>:Init() metodu
ubacim na sam početak liniju:
<dbfName>_DBF_PATH := DbfDir(<dbfName>)
Međutim, kada iz DBServer editora promenim nešto u DBServeru i te
promene snimim uprkos čuvenom upozorenju da je kod promenjen, on
izbriše ovu liniju koju sam ja dodao.
To je, za sada, i moja najveća zamerka VO-u: zašto zaboravlja ono što
je ručno menjano u kodu koji generiše?
Da ne pomislite da cepidlačim, nije mi teško da ponovo unesem onu
jednu liniju, DBServer se ionako retko menja posle definisanja,
ali, da li isto tako zaboravlja i ono što je menjano na drugim mestima.
Recimo, generišem dijalog, promenim ručno neki metod, dodam u
Window editoru novo dugme u dijalog i snimim ga. Da li će u tom slučaju
ono što sam menjao biti sačuvano ili izbrisano?
Pozdrav,
Sele
cavo.105aseovic,
>> Kako da definisem novo dugme za ToolBar?
>
> Pogledaj u online help-u: Toolbar:AppendItem() Method.
Hvala na trudu, pomaže i to.
Interesovala me je druga stvar:
Kada u Menu editoru definišem stavke menija u Properties dijalogu
za svaku stavku postoji polje "ButtonBmp". Kada se klikne na njega
dobije se gomila predefinisanih dugmića i odatle izaberem ono koje
mi treba. Da li u taj spisak mogu da dodajem svoje BMP-ove?
Sudeći po onome što sam pročitao u helpu za Toolbar:AppendItem()
ovo gornje ne može da se uradi. Međutim, par stvari mi se veoma
svidelo. Koliko sam ukapirao, moguće je u jednom BMP fajlu čuvati
sve potrebne dugmiće u obliku trake (ribbon) i jednostavno dodavati
potrebne u ToolBar slanjem pozicije dugmeta u traci.
Druga stvar, koja mi se još više sviđa, je što je dovoljna jedna
sličica za jedno dugme - VO sam generiše sličice za pritisnuto i
disablovano dugme!
VB fans, šta kažete na ovo? Ako se dobro se sećam, u VB-u
je potrebno za svako stanje napraviti poseban BMP.
Pozdrav,
Sele
cavo.106aseovic,
Da li je neko video/ima nešto od 3rd Party alatki za CA-VO?
Ako ima takvih molio bih komentare u conf.
Bez alata nema zanata :))
Ja obećavam da ću da okačim podatke o ROCK-E-T-u čim ih dobijem.
To je valjda SIx za VO.
Bulajiću, pišeš li nešto o VO za conf. Sad bar imaš vremena
na pretek :)
Pozdrav,
Sele
cavo.107aseovic,
MUM BBS
--------------------------------
STRONGCH.ZIP - Strong typing support LOCAL, GLOBAL, formal parameters
and functions
--------------------------------
strongch.zipcavo.108aseovic,
-------------------------------
OMGINF.ZIP - Background information on OMG (Object Management Group)
-------------------------------
omginf.zipcavo.109bulaja,
│Kako podesiti u kom diru se nalaze DBF datoteke?
│...
│Kada kreiram DBServer za datoteku VO mi kao ime fajla unese puno ime
│datoteke. Kasnije to ime podeli na ime samog DBF fajla i na putanju:
└───
A ti mu lepo (pošto importuješ strukturu postojeće datoteke) izbriši
podatke o putanji i ostavi samo naziv datoteke :), pa će prilikom
izvršavanja program tražiti baze tamo odakle je startovan. Ukoliko je
potrebno (kao što tebi jeste:) da base budu u drugom direktorijumu, to
ćeš jednostavno promeniti jednim access metodom:
ACCESS <dbServerName>_DBF_PATH CLASS <dbServerName>
RETURN <path>
│Recimo, generišem dijalog, promenim ručno neki metod, dodam u Window
│editoru novo dugme u dijalog i snimim ga. Da li će u tom slučaju ono
│što sam menjao biti sačuvano ili izbrisano?
└───
Sačuvano :).
cavo.110aseovic,
> A ti mu lepo (pošto importuješ strukturu postojeće datoteke) izbriši
> podatke o putanji i ostavi samo naziv datoteke :), pa će prilikom
To i radim:)
> ACCESS <dbServerName>_DBF_PATH CLASS <dbServerName>
> RETURN <path>
To je to, hvala.
>│editoru novo dugme u dijalog i snimim ga. Da li će u tom slučaju ono
>│što sam menjao biti sačuvano ili izbrisano?
>└───
> Sačuvano :).
Onda još uvek nemam ozbiljnijih zamerki. Biće još nešto od ovog VO(l)a:))
cavo.111stosic,
> To je, za sada, i moja najveca zamerka VO-u: zasto zaboravlja ono sto
> je rucno menjano u kodu koji generise?
Sors koji generisu windows editori ne treba menjati. Kreiraj subklase
od generisanih klasa i njih dalje koristi (menjaj).
cavo.112bulaja,
Kada sam importovao neke postojeće baze podataka i indekse u DBServer
Editor, isti je javljao greške prilikom importovanja .CDX indeksa (koje
je kreirao Clipper program koji koristi SIx CDX) i nije ih prihvatao.
Odmah sam posumnjao na mogući razlog problema i bio sam u pravu :) - u
svakom indeksnom fajlu sam imao i jedan tag po Deleted() i to je ono što
se VO-u nije sviđalo. Posle izbacivanja tog taga, sve je radilo Ok.
Ipak, trebalo bi da VO može da prihvati i Deleted() i slične druge
vrednosti za index key expressions. Proveriću da li možda radi kad
uz DBF klase uključim i podršku za stare XBase komande i funkcije,
možda Deleted() nisu stavili u standardne funkcije :).
cavo.113rmarjan,
Moze li neko da "dobaci" primere rada u CA-VO:
1. Primer za VALIDATE(), konkretno; ako upisujem neku vrednost u
polje (datawindow i na njega nakacen DBServer), zelim da odmah nakon
ENTER ili prelaska na drugo polje, proverim recimo, postoji li sifra
necega u odredjenom sifarniku, ako ne postoji, upozoriti i ne dati
nastavak.
2. Kako se nakon otvorenog DataWindow i na njega nakacenog DBServera moze
kontrlisati koja je tipka pritisnuta.
3. Da li je moguce realizovati neke vrste "pointer" da znam na kom se polju
trenutno nalazim dok se kurzorom ili misem krecem kroz tanelarni pregled
baze.
I jedno pitanjce:
Da li je neko nabavio bilo kakvu literaturu za CA-VO i ako jeste, gde
je zaboga nasao?
Hvala nekoj dobroj dusi na samilosti... ima nesto u CA-VO ali KAKO CU...
cavo.114aseovic,
Dobio sam aprilski Aquarium/VO. žasopis je u obliku Win help fajla i dosta
je zgodan za čitanje. Podeljen je na nekoliko blokova: uvod, vesti, deo
za početnike, za naprednije i za iskusne vukove:).
Tu su još i QuickTip (korisni saveti za korišćenje VO-a) i
"Ask Mr Grump" - odgovori na pitanja korisnika.
U reklamnom materijalu koji sam dobio uz disketu nabrojane su i neke oblasti
koje će biti obrađene u časopisu:
* Creating Buffered Data Servers
* DDE
* Accessing the Windows API
* Manipulating .INI files
* Maximizing Your Use of the IDE
* Data Entry Issues
* Controls
* Strong Data Typing - Worth the Effort
* Smart Windows Via Event Handlers
* The Power of Subclassing
* Customizing the Window Editor
* Maximizing Your Use of CA-RET (koji ne radi sa CDX-ovima :((()
* Migrating From CA-Clipper
* Practical Error Handling
* Smart Menuing
* Customizing the DataBrowser Class
* and much, much, more...
U prvom broju su obrađene sledeće teme:
* Attaching actions to menu items
* Quick Tip: Customizing Standard App
* Adding Help to CA-VO Applications
* Common Dialogs in CA-VO
* Generating Reports with CA-RET
* Implementing Window Timers in CA-VO
Autori tekstova su Greg Lief, Ted Means, Joe Booth, Mark Lukianchuk,
Darren Forcier i mnogi drugi. Kada kliknete na "About Author" na kraju
članka dobićete podatke o autoru teksta uključujući i njegovu fotku.
Kliknite na fotku i čućete njegov glas (ako imate SB; može i na speakeru,
ali se očajno čuje).
Cena pretplate je USD $214 za godinu dana (12 brojeva).
Dobija se i pristup Aquarium Message centru gde možete da postavljate
pitanja na koja ćete (ako ne lažu:)) veoma brzo dobiti odgovor, kao i
da šaljete svoje priloge za Aquarium (rubrika "Functions Corner").
Ako vam objave prilog dobijate "poklon iznenađenja" od Grumpfisha i,
naravno, objavljenu sliku u Aquarium-u (ako je pošaljete).
Korisna adresa:
Grumpfish, Inc.
1661 Edgewater St. NW Suite 240
Salem, Oregon 97304 USA
Phone : 1-503-588-2184
Fax : 1-503-588-1980
FaxBack : 1-503-588-4346
cavo.115stosic,
> negde u magli mi se cini da sam jednom uspeo da nateram program
> da radi sa nekim klasama definisanim kao static, ali nikako ne uspevam
> to da ponovim.
Problem je u tome sto kod statickih objekata Strong Typing ne funkcionise
kada se kao tip navede ime klase. Koristi tip OBJECT i sve ce biti u redu.
cavo.116stosic,
> Moze li neko da "dobaci" primere rada u CA-VO:
>
> 1. Primer za VALIDATE(), konkretno; ako upisujem neku vrednost u
> polje (datawindow i na njega nakacen DBServer), zelim da odmah nakon
> ENTER ili prelaska na drugo polje, proverim recimo, postoji li sifra
> necega u odredjenom sifarniku, ako ne postoji, upozoriti i ne dati
> nastavak.
1. Definisi validaciju za dato polje: { |x| TestSifre(x) }
2. Napisi doticnu funkciju:
FUNCTION TestSifre(x) AS LOGIC
LOCAL oSifarnik := Sifarnik{} AS DBServer
LOCAL lRet := TRUE AS LOGIC
IF !oSifarnik:Seek(x)
WarningBox{,"SIFARNIK", "Izabrana sifra ne postoji!" }:Show()
lRet := FALSE
ENDIF
RETURN lRet
cavo.117pyramid,
CAVO: Sta da ocekujemo...
.....
CA-Visual Objects 1.0b Enters Beta!
According to Computer Associates, the beta cycle for version 1.0b
has apparently ramped up, and things are still on track for an early
April release date. In addition to fixing many outstanding bugs,
user requests for faster imports and increased browse performance
will also be addressed. Registered users of CA-Visual Objects will
obtain this patch free of charge via mail when it is ready, or can
likely download it from CA's BBS or through CompuServe.
.....
CA-VO 2.0 To Be Previewed At TechniCon'95
Another reason to consider making the trip to N.Orleans on July 17-21
(besides catching the keynote speech by former President George Bush)
is to see CA-Visual Objects 2.0 beta code in action. Although few
details have been released yet, several CA-TechniCon sessions will
discuss this new version.
.....
Ovo kaze Greg Lief, a on valjda zna.
Pozdrav, PYRAMID.
cavo.118mmirko,
Evo, rekoh da se i ja ukljucim malo u konferenciju.
Kao sto rece Bulaja, prve porodjajne muke sam prosao,
ali ima tu jos milion stvari koje mi nisu jasne.
Prvo kako da u Data Window ubacim softseek u Single line edit, koji
reaguje na pushbutton.
Molim da ako neko zna da mi pomogne.
Kao primer sta mislim evo i fajla u prilogu!
Hvaala <:(
djura.arjcavo.119mmirko,
BTW, zna li ko kakv bbs gde se prica o cavo?
cavo.120aseovic,
Subject : FUNCky/VO (tekst pisma od 24.04.)
From : dLESKO, Inc.
--------------------------------------
FUNCky for VO is currently in development. We will release FUNCky/VO
as soon as humanly possible.
We have released FUNCky for PowerBuilder which is in a .DLL format with a
"Surface" interfacing into the .DLL. We are also working on FUNCky versions
for Visual Basic and Foxpro.
For additional information on the FUNCky.DLL, you may download a copy
of the FUNCky.DLL function list from CompuServe. Just join the PowerSoft
conference and download FUNCky.WRI.
Since the SAME .DLL is callable from multiple languages, you can use the
FUNCky.WRI to gain an insight as to what the functionality will be
available in the FUNCky/VO version.
FUNCky/VO will list at $ 249 - USD plus S&H. We are offering a spectacular
introductory offer of only $ 99 - USD plus S&H for the Electronic Documentation
version (Win .HLP format) or $ 149 - USD plus S&H with printed documentation.
PLEASE NOTE: There is no penalty for obtaining the FUNCky/VO Electronic
Documentation and purchasing the printed documentation at anytime after
receiving the Electronic Documentation version for $ 50 - USD plus S&H.
If there is any specific functionality that you are interested in seeing
in future versions of FUNCky, please let us know and we will do everything
we can to accommodate you. We believe that by knowing what our FUNCky Users
need, like and dislike, we may make FUNCky even better.
Sincerely,
Dennis J. Farrell
---------------------------------------------------------
Kontakt: dLESKO, Inc.
PO Box 3382
Jersey City, NJ 07303
USA
Fax: +1-201-435-0637
---------------------------------------------------------
Pozdrav,
Sele
cavo.121mmirko,
Evo jos jednog zadatka.
Onaj problem sam resio, kao sto se vidi iz prilozenog .aef-a, ali da
vidimo kako cemo dalje. Mada, pravo da vam kazem, cini mi se da se u
ovoj conf. svadjam sam sa sobom.
Dobro ljudi, aj se malo razmrdajte. Pomozite oko ovih stvari.! :)
Pozdrav Djura!
telef1.aefcavo.122mmirko,
P.S.
Ne Obracajte paznju na window caption, sve je to samo proba.
Djura!
cavo.123stosic,
> prve porodjajne muke sam prosao, ali ima tu jos milion stvari koje
> mi nisu jasne.
Preporucujem ti da pogledas ranije poruke (ima ih i u clipper konferenciji),
proucis primere koji dolaze uz CA-VO i sacekas umetak u PC-PRESS-u.
> Prvo kako da u Data Window ubacim softseek u Single line edit, koji
> reaguje na pushbutton.
Primer ti koji si poslao je prilicno nesredjen, ali se nadam da ce ovo biti
dovoljno:
METHOD PosteTraziButton() CLASS PosteEditWindow
SELF:Server:Seek(oDCPosteTraziString:TextValue, TRUE)
P.S. Generisi kod za PosteTraziButton!
cavo.124stosic,
> BTW, zna li ko kakv bbs gde se prica o cavo?
CA ima BBS, ali mi nije poznat broj, kao ni da li je omogucen pristup
neregistrovanim korisnicima?
Na CompuServe-u se nalazi gomila interesantnih programa i sorseva, pa ako neko
ima pristup neka se javi.
cavo.125ddjura,
Pa ja sam registrovani korisnik CAVO
cavo.126ddjura,
Hvala, ali u medjuvremenu sam resio problem.
Saljem ovi .aef, sa resenjem.
Molim bilo koga da salje svoje primere, ne bi li na taj nacin i sam a i drugi
koji pocinju da rade u CAVO bolje savladali.
P.S.
Promenioo sam user sa mmirko na ddjura
cavo.127ddjura,
Koliko vidim guzva je na vrhuncu!
cavo.128aseovic,
Hint iz februarskog Aquarium-a:
--------------------------------------
"This came from Cedric Fairweather of Cheyenne, Wyoming, who
passed it on to me during my Visual Objects World Tour seminar last
month in Denver. Thanks, Cedric!" (Greg Lief)
--------------------------------------------------------------------
Have you ever seen a MS-Windows application whose HELP menu item is
right-justified (and thus separated from the rest of the top-level
menu items)? This is an interesting aesthetic twist, and one that
you may wish to try in your CA-VO applications. Follow these steps:
(1) Fire up Microsoft Write.
(2) While holding down the ALT key, press the number 8 on your
numeric keypad. (The number 8 above the letter keys will not
suffice.) This should give you a small rectangle, which
represents ASCII character 8.
(3) Highlight this rectangle with the mouse, then use the Edit/Copy
menu option to put it in the Windows Clipboard.
(4) Switch to CA-VO. Locate your menu entity and launch it in the
Menu Editor.
(5) Find the HELP menu item and position the cursor to the left of
the text.
(6) Use the Edit/Paste menu option (or the Paste toolbar button) to
insert the ASCII character which you copied from Write. It
should appear as a thin rectangle. (You must create the
character outside the Menu Editor because the editor will
interpret it as a backspace, thus thwarting your efforts.)
(7) Admire your work via the real-time menu previewer, and repeat
as desired for other top-level menu items.
cavo.129aseovic,
Subject: VO Developer - April 1995
----------------------------------
žasopis je prilično neobičan - ima samo 6 članaka na 16 strana, nema korica
već izbušene rupe sa strane za stavljanje u registrator, papir je običan,
nema reklama. Toliko o izgledu.
Sadržaj je prilično zanimljiv:
- Using DLLs in VO Applications
- Tip: Center Your Dialog Box Regardless of Screen Size
- Create A Tab Control in VO
- Internationalize Your Visual Object Applications
- Tip: Create a Handy Progress Bar
- CoolTool: Get Your Way With ToolPAL
- VO World News
Izdavač je Pinnacle Publishing, adresa za kontakt (za Evropu):
TOMALIN ASSOCIATES
The Old Bakery
High Street
Great Bardfield
ESSEX CM7 4RF
UK
Tel: +44(0) 1371-811-299
Fax: +44(0) 1371-811-283
Cena za 12 brojeva (plus disketa) je 99 funti.
Pozdrav,
Sele
cavo.130aseovic,
Subject: VO Developer - Tab Controls in VO
-----------------------------------------
TAB.ARJ uz poruku
Prilikom kompajliranja TAB_LIB VO je prijavio gomilu grešaka ali je
završio posao.
tab.arjcavo.131aseovic,
Subject: VO Developer - Progress Bar
------------------------------------
progress.arjcavo.132aseovic,
Subject: VO Developer - Center Dialog
-------------------------------------
center.arjcavo.133mdrazic,
> Subject: VO Developer - April 1995
> ----------------------------------
>
>
> Cena za 12 brojeva (plus disketa) je 99 funti.
> Sele
Baš pre neki dan sam dobio prospekt od dotične izdavačke kuše.
Osim VO Developer-a izdaju po istom principu:
Smart Access (79 funti)
Visual Basic Developer (99)
FoxTalk (99)
Visual C++ Developer (99)
PowerSource (129) (za PowerBuilder)
Oracle Developer (149)
Easy Approach (49) (za Approach foe Windows)
The Quick Answer (49) (za Q&A)
Easy ACT (49) (za ACT)
Alpha Forum (49) (za Alpha Four and Five)
Možete poručiti jedan broj besplatno (za probu). Kasnije, ako vam se ne
sviđa časopis, možete dobiti sav novac nazad (za njih, ali malo teže izgleda
za nas ovde gde smo).
Milan
P.S. Za Aleksandra pitanje: Je li valja šta po sadržaju VO Developer?
cavo.134velicko,
subj: CA VO update
Imam CAVO 1.0a release 118 (valjda)
(Nije mi trenutno dostupan računar na kome je CAVO
pa ne mogu da proverim :( )
a vidim da postoje pečevi
REL 421 2 HD
REL 424 4 HD
REL 427 5 HD
Dali moram da odradim svaki update pojedinačno
ili će mi zadnji (427) odraditi update sa bilo
kog prethodnog release-a.
Ukratko:
Da nabavljam sve pečeve, ili samo zadnji?
velicko
cavo.135bulaja,
│Dali moram da odradim svaki update pojedinačno ili će mi zadnji
│(427) odraditi update sa bilo kog prethodnog release-a.
└───
Dovoljan će biti samo zadnji :). Btw izlazak verzije (patch-a) 1.0b je
po najavama trebao da izađe još pre nekih mesec dana, s tim što ga još
nismo videli na evropskim Clipper/VO BBS-ovima. Ima li neko slučajno
broj fax-a CA-ovog predstavništva u Beču (oni su zaduženi i za istočnu
Evropu), da ih priupitam malo oko tog patch-a :).
cavo.136aseovic,
> P.S. Za Aleksandra pitanje: Je li valja šta po sadržaju VO Developer?
Valja, samo mi se čini da je cena ipak previsoka.
Doduše, treba platiti te ljude koji pišu s obzirom da u
časopisu nema reklama.
Upravo sam primetio jednu zbunjujuću stvar: u onom prospektu
o kojem vi govorite se na dva mesta spominje ona cena koju
sam naveo - 99 funti. Međutim, u samom čaopisu na kartonima
za pretplatu piše "Special Charter-Issue Offer! Only 119 GBP!!!
---------------
žudno ali istinito :)
Pozdrav,
Sele
cavo.137aseovic,
> Dovoljan će biti samo zadnji :). Btw izlazak verzije (patch-a) 1.0b je
> po najavama trebao da izađe još pre nekih mesec dana, s tim što ga još
Patch za VO 1.0b je izašao i ima ga na MUM-u.
Prostire :) se na 6 disketa + još 6 za nove .HLP fajlove.
Al' su ga opravili - svaka im čast :))
Pozdrav,
Sele
P.S. Ajde ljudi da se organizujemo pa da ih poskidamo ako Bulaja ne uspe
da izboksuje CD-ROM od CA. Ja se javljam za prve dve diskete.
cavo.138ddjura,
Evo i ja se javljam za druge dve, samo nemam broj modema.
Ostavite mi i zvacu!
Moze da me zovete i u toku dana by voice za broj , pa da to odradimo.
014/21-721, 20-987, 27956, 21-742 (bez zloupotrebe)
Pozdrav Djura!
cavo.140aseovic,
Informacije o ROCK-E-T drajveru (SIx za Win)
Izgleda da ne podržava CA-VO, već samo:) VC++, VB, PB i Delphi.
..conf join PC.PROG.5
..conf reply cavo light_vo.arj
LIGHT_VO.ARJ - Light Lib proizvodi za VO (reklamni materijal)
rocket.zipcavo.141aseovic,
LIGHT_VO.ARJ - Light Lib proizvodi za VO (reklamni materijal)
light_vo.arjcavo.142aseovic,
CHART.ZIP - Prikaz hijerarhije za SingleLineEdit, MultiLineEdit,
ListBox, ComboBox i MultiSelectionBox (.PRN za HP laser)
Lepo 'za na zid' :)
chart.zipcavo.143stanic,
Instalirao sam danas CA-VO 1.0a build 418. Program se normalno podigne, ali
prilikom pokušaja otvaranja neke aplikacije dobijem sledeće:
CA-VO IDE exception handler
GPF in module USER.EXE
Da li je potreban neki upgrade ili je problem samo do moje instalacije.
Any hint welcome.CU, Milan.
cavo.144stanic,
Da repliciram sam sebi. Problem je bio hardverske prirode. Konflikti
mothboarda i VLB kontrolera. Izvinjenje svima na uzbuni.
cavo.145stosic,
CA-VO TIP:HotKeys
Kako omoguciti u DataWindows-u: Go To Top i Go To Bottom sa Ctrl+PgUp
i Ctrl+PgDn (CA-Visual Objects Accelerator Keys Editor ne generise
HotKey sa PgUp i PgDn tasterima)?
Primer za StandardShellMenu:
DEFINE IDA_HOTKEYS := "HOTKEYS"
CLASS HotKeys_Accelerator INHERIT Accelerator
METHOD Init() CLASS HotKeys_Accelerator
super:Init(ResourceID{IDA_HOTKEYS})
RESOURCE IDA_HOTKEYS ACCELERATORS
Begin
...
VK_PRIOR, IDM_STANDARDSHELLMENU_Edit_Go_To_Top_ID, CONTROL, VIRTKEY
VK_NEXT, IDM_STANDARDSHELLMENU_Edit_Go_To_Bottom_ID, CONTROL, VIRTKEY
...
End
Data Windows Properties, Accelerator Table: HOTKEYS_ACCELERATOR
cavo.146bulaja,
Stigao je CA-VO v1.0b patch :). Verzija na 6 disketa, dakle samo "goli"
patch, bez onih drugih 6 disketa na kojima se nalaze dodatni help-ovi.
Kod mene će biti verovatno u utorak, pa ko je zainteresovan nek se javi
(oni koje za koje već znam da jesu, ne moraju da se jave:). Patch je,
naravno, PD, pa ako ima baš mnogo intereresenata može se okačiti ovde
ili na "brzi".
cavo.147velicko,
>+ naravno, PD, pa ako ima baš mnogo intereresenata može se
>+ okačiti ovde ili na "brzi".
Pretpostavljam da ti je lakše da zakačiš na brzi sezam,
nego da ti pojedinačno šaljemo diskete, pa da snimaš
n puta. :)
velicko
cavo.148bulaja,
CA-Visual Objects v1.0b
Spisak promena u odnosu na prethodne verzija 1.0x.
cavo10b.zipcavo.149bulaja,
│Pretpostavljam da ti je lakše da zakačiš na brzi sezam, nego
│da ti pojedinačno šaljemo diskete, pa da snimaš n puta. :)
└───
Nisam ni mislio da svakome snimam, već da se organizujemo kao binarno
stablo :). Ipak je malo poveći za upload (8 Mb), pa će biti najzgodnije
da se organizujemo za lokalno kopiranje :).
Inače stigle su dve varijante 1.0b patch-a, jedan je nosio oznaku Build
452, a drugi 454. Ovaj drugi je i bio noviji za nekih pet dana, pa sam
zadržao samo njega :).
cavo.150zkrstic,
>> Inače stigle su dve varijante 1.0b patch-a, jedan je nosio oznaku Build
>> 452, a drugi 454. Ovaj drugi je i bio noviji za nekih pet dana, pa sam
A zato nema novog Sheza....
Jim Derr počeo da radi na CA ;>>>>
Kako mi je utisak varljiv da su se momci malko zaneli sa kojekakvim
buildovima ;>
Zkr :)
cavo.151ddjura,
Imam jedan problem.
Posedujem verziju 1.0a.
I radi relativno dobro.
Izuzev prilikom izrade reporta.
Sve uradim kako treba, on mi otvori CA-RET i objavi sledecu poruku:
Error connectingto Database Driver. [Microsoft][ODBC DLL] driver Data
source name not found and no default driver specified.
Pritisnem OK, i posle toga objavi jos neke greske, koje mogu da ignorisem.
U cemu je stos.
Probao sam i ponovnu instalaciju drajvera, i nista.
Da li je to jedan od bagova ver 1.0a, ili ima neka druga fora.
cavo.152ddjura,
Sam sam resio, sa cavo10b.
Djura!
cavo.153ddjura,
Imam jedan problem :(
Da li je iko radio stampanje.
Trebao bi odstampan "Hello World"!
Kompletan .aef.
Hvala!
cavo.154stosic,
-> A Comparison of CA-Visual Objects 1.0, Borland dBASE 5.0, Microsoft Foxpro
-> 2.6 and Borland Delphi 1.0.
vocomp.zipcavo.155stosic,
SB: VO 2.0 & Windows 95 Logo
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VO 2.0 will fully comply with the Windows 95 Logo requirements. For those of
you who don't know, here are the requirements for all Windows 95 Logo
applications.
1) The application must be compiled with a 32-bit compiler and linked into
Portable Executable (PE) format. All components of VO will be 32-bit code in PE
format.
2) The application must follow the Microsoft Windows User Interface Design
Guide recommendations. VO 2.0 will register 16x16 and 32x32 icons, use the
Windows 95 common dialogs and controls, employ context menus, use
treeviews/listviews, have wizards, progress bars, tool tips, status bar
messages, etc.
3) The application must support Windows NT 3.5. VO 2.0 will support Windows NT
3.5.1. *** Note *** this requirement was subsequently modified to be strongly
recommended.
4) The application must support long filenames. VO 2.0 will support long files
names and in fact VO has been using long names internally (application and
module names) for some time.
5) It is recommended that the application support plug-and-play events if
applicable. This requirement is not really applicable to VO.
In addition to these requirements, any application that uses files has three
additional requirements.
6) The application should be an object container and support drag-and-drop. It
is strongly suggested that the application also support compound storage and
automation. In-place activation support is not required. VO 2.0 will be an
object container, and will also have drag-and-drop, compound storage, client
automation, and client in-place activation support.
7) The application should support Universal Naming Convention (UNC) path names.
VO 2.0 will support UNC.
8) The application should have a Send Mail menu command. VO 2.0 will have a
Send Mail menu command.
There are also additional requirements for compilers:
9) Same as #1 but the application must target 32-bit applications and PE format
applications. VO 2.0 will produce 32-bit applications in PE format.
10) Same as #4 but the application must produce applications that support long
file names. VO 2.0 will produce applications that support long file names.
11) Same as #7 but the application must produce applications that support UNC
path names. VO 2.0 will produce applications that support UNC.
12) The application must provide support for OLE drag-and-drop, a wizard for
creating applications with OLE container, object, and automation support, and a
class library supporting the creation of applications that support OLE
containers and objects, drag-and-drop, compound files, and automation. It is
recommended that application also support automation. VO 2.0 will support
drag-and-drop, automation, and provide OLE wizard and OLE class library
functionality.
Philip Montrowe [CA]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CA jos ne saopstava datum izlaska VO 2.0
Boban
cavo.156stosic,
:NETLIBUS.ZIP 76K 19-Aug-95 NetWork Library V1.1 (AEF) US
(c) 1995 DELACROIX Thierry
Dedicaced to Ana´s born the 28/07/1995
You can use this library in all your project.
If you have some suggestion or remarks,
if you have detected on or more bugs,
if you have tested this library on specific network environement,
thank's to send me an e-mail.
CIS : 100617,2265
NetWorkLibrary Version 1.1
Tested On
Client :
-> WfW 3.11
-> WfW 3.11 with Novel 4.1 Driver
Server :
-> WfW 3.11
-> Windows NT Advanced Server 3.1
-> LanManager 2.2
-> Windows NT Advanced Server3.1 + LanManager 2.2 (mixed)
-> Novel 4.1
netlibus.zipcavo.157stosic,
...
The calendar is split into two parts. The first is the actual Calendar itself.
You can navigate through Days, Months and Years. Double clicking on a Date will
close the Calendar, and you can then use the SelectedDate ASSIGN to retreive
the date you clicked on. Clicking on the Today button will take you to the
start date that you passed to the Calendar.
The second part is Define NonWorking Days. Double clicking on a date will
allow you to add or edit a NonWorking Day Description for the selected date.
NonWorking Days are displayed in darkish grey, whilst working days displayed
in light grey. NonWorking Days are weekends, Set Dates (see below) and you
own additions.
You can remove NonWorking days (only one's you defined) by highlighting the
date and clicking the remove button (not visible in Calendar mode).
...
Dave Bowrah [100306,3117]
calen12.zipcavo.158bulaja,
**** new file ****
WINDOWS - W:\PROGRAM
----------------------
cavo10gs a01 399472 CA-Visual Objects 1.0 Getting Started (.PDF document)
cavo10gs a02 388498 CA-Visual Objects 1.0 Getting Started (.PDF document)
2 file(s) 770 kb
Ovo je kompletan tekst uvodne knjižice koja se dobija uz originalni
CA-VO i ima nekih 200 strana. CA ga deli okolo uz probnu verziju VO,
a u kompletu ima još i kompletan tekst South Seas Tutorial (ako ima
zaintereosvanih, mogu i ovo da okačim, dugo je oko 1.2 Mb). Sve je u
Adobe Acrobat .PDF formatu, a Acrobat Reader možete naći na Sezamu u
w:\misc\acroread.* (ukupno oko 1.4 Mb, mislim da ga ima i na Pro-Ba:).
cavo.159goxx,
koja je poslednja verzija CA-VO i koliko paket košta u UK ili SAD?
informacija mi je potrebna za sutra. hitno.
pozdrav
Goran
cavo.160ddjura,
Prema mojim saznanjma, poslednja verzija je 1.0b;
Verzija 1.0a, moze da se kupi i u CET-u, za oko mislim 2000din, a update
update ima na ca-bbs-u, pa moze da se skine modemom, ili ljudi
i ovde na sezamu imaju update, pa ga je lako suknuti.
Uz original u CET-u , dobija se dovoljan broj knjiga kao i one
pomenute u bulajinoj poruci, sto je dovoljno za pocetak.
pozdrav Djura!!
cavo.161goxx,
hvala na obaveštenju!
pozdrav
goran
cavo.162velicko,
Ako bi neko mogao da prebaci uputstvo za VO
w:\program\cavo10gs.a01
w:\program\cavo10gs.a02
na brzi Sezam, bio bih mu beskrajno zahvalan.
velicko
cavo.163bulaja,
│koja je poslednja verzija CA-VO i koliko paket košta u UK ili SAD?
└───
Verzija 1.0b. U USA košta uglavnom nešto ispod 600 USD, recimo kod
Programmer's Paradise (imam pri ruci njihov katalog) je 589 USD.
Moguće je da je kod Zac-a koji je specijalizovan za Clipper i VO
nešto jeftinije, proveri. Brojevi telefona i fakseva (pozivni za
sve je +991) su:
Programmer's Paradise
fax (908) 389 9227
tel (908) 389 9228
Zac Catalog
fax (617) 551 0857
tel (617) 551 0860
cavo.164bulaja,
│Verzija 1.0a, moze da se kupi i u CET-u, za oko mislim 2000din, a update
│update ima na ca-bbs-u, pa moze da se skine modemom, ili ljudi i ovde na
│sezamu imaju update, pa ga je lako suknuti.
└───
Nešto mi se čini da je imak malo više od 2.000 din :), bar je bilo više
još kad sam ga ja uzimao krajem prošle godine. Ako se ne varam cena u
CET-u je negde oko 1,200 njihovih "bodova", što dođe preko 3.000 din, a
uz porez još i celih 4,000 :). Što se tiče update-a za 1.0b nema potrebe
da se skida za CA BBS-a pošto ga ima ovde :), a verujem da se i sad u
originalnom CA-VO paketu dobija verzija 1.0b.
cavo.165rccomp,
>> Nesto mi se cini da je imak malo vise od 2.000...
Nesto mi se cini, mozda i gresim, kao i obicno, da CAVO nije ni blizu
onoga cemu smo se, smi mi koji godinama pisemo nekakve Clipper programe,
priblizili ljudima koji sa uspehom pisu izvardene Win aplikacije.
Nekakva sledeca verzija x.00 mozda ce ovo demantovati, ali ovo sto nam
je sada CA ponudio mislim da nije to sto nam treba.
Svi CAVO programi "jure" , za sada, 30 na sat :(
Svakodnevno, ucimo neke nove oSintakse i opet se, na kraju, pojavi nesto
drugo. Korisnici, nasih programa, uglavnom neke babe :(, nikako ne mogu
da shvate zasto sve to, ipak, nije na srpskom !
U svakom slucaju, ko voli, a ima nas dosta, ajde da probamo...
Konacno ce i firme koje imaju racunare, ukapirati da razne XT, AT i sl.
treba, kao i njigoveKKhove korisnike, poslati u zasluzenu penziju.
cavo.166spantic,
> a u kompletu ima još i kompletan tekst South Seas Tutorial (ako ima
> zaintereosvanih, mogu i ovo da okačim, dugo je oko 1.2 Mb). Sve je u
Ne bilo ti teško :)
cavo.167dr.grba,
>> CET-u je negde oko 1,200 njihovih "bodova", što dođe preko 3.000 din, a
>> uz porez još i celih 4,000 :). Što se tiče update-a za 1.0b nema potrebe
Ako kupuje firma, uz odgovarajuću izjavu se ne plaća porez. Provereno u
praksi, na kupovini šest paketa dosad.
cavo.168ddjura,
Ok, moguce da sam se preracunao za cenu, a sto se tice update, kazem ako, za
svaki slucaj
Djura!
cavo.169ddjura,
U pravu si. I nije bas ono sto se cekalo, ali nije toliko ni los.
Mada zaista, nesto sto sam radio i sto na 486 radi solidno, na 386 ubija.
Valjda ce verzija 2.0 (kad se pojavi), donati ubrzanja.
Uzgred, ima li ko registrovanu i ispravnu verziju clip2VO!
Pozdrav Djura!
cavo.170djelovic,
> U pravu si. I nije bas ono sto se cekalo, ali nije toliko ni los.
Ako mogu da napravim malu preporuku: probajte Clarion for Windows. Ne kažem
da je bolji od VO, ne kažem da je moćniji, ali se sa njim prave lepe aplikacije
veoma lako, a i sam paket za razliku od VO uopšte nije teško savladati.
cavo.171rccomp,
>> ... Probajte Clarion for Windows...
Ja sam pre nekih par godina radio u Clarionu ( 2.0 mislim ) i zaista je bio
dobar. Nazalost Clarion jezik nema bas nikakve veze sa Clipperom i bilo mi
tesko da opet, po ko zna koji put, ucim neki novi jezik.
Ova nova verzija Clariona je sigurno jos bolja, ali isti problem, bar za mene,
ostaje. Puno je lakse prodavati nesto vec vidjeno i provereno i od toga
jesti 'leba.
cavo.172rmarjan,
Pa, probaj u tom slucaju Clip4Win. Njime se lako i brzo prave zgodne
Windows aplikacije, ostajuci u Clipperu potpuno sto se tice rada sa bazama.
nesto sam cackao po njemu, dobijoo u rad novi projekat pa batalio do daljeg.
Malo su me gnjavilki event-handleri ali ide...
Naravno stara boljka, literature nigde.
Inace, nije losa ona stvar sa "geting started za CAVO". Taman da se neke
stvari rasciste. Nadam se da takve elektronske literature ima jos za CAVO,
pa drugar koji je to dovukao, moze li da napravi barem jos nekoliko
recidiva?
Boris
cavo.173nbatocanin,
Nisam baš sasvim razumeo, da li misliš da VO nije proizvod vredan
pažnje ili nešto drugo? Ja pak smatram da su u CA totalne budale ako
ispuste tako jasnu liniju koju u toj klasi ima samo VB i još par
proizvoda. Naravno, sve to ima dosta dečjih bolesti, ali ne vidim
nikakvog razloga da se ti nedostaci ne otklone.
cavo.174stanic,
žudna stvar mi se dešava u CAVO 1.0a build 418. Nakon buildovanja
South Seas sample aplikacije slučajno mi je ostao exe u \files
direktorijumu dok su baze i indexi bili u sstutor dir-u. Pošto
mi je uredno javio DOS error 2(pošto su baze bile u drugom dir-u)
nakon cancelovanja mi je izbacio GPF box, a odatle me šutnuo u DOS.
Da li je u pitanju bug ove verzije ili ...
cavo.175stanic,
> WINDOWS - W:\PROGRAM
> ----------------------
> cavo10gs a01 399472 CA-Visual Objects 1.0 Getting Started (.PDF document)
> cavo10gs a02 388498 CA-Visual Objects 1.0 Getting Started (.PDF document)
Kad će biti ovo na brzom Sezamu. I još jedno pitanje nevezano za ovo.
Jel probao neko da instalira CAVO na Win95. žuh danas da neće uopšte
da radi pod dotičnim.
cavo.176cnenad,
=> proizvoda. Naravno, sve to ima dosta dečjih bolesti, ali ne vidim
=> nikakvog razloga da se ti nedostaci ne otklone.
Ja ne vidim krajnji datum kada će ti nedostaci biti otklonjeni :( možda za
jedno 10 godina ?
Samo žalosno je da najbitniji nedostatak neće biti otklonjen a to je brzina
samog CAVO-la kao i EXE-a koji on proizvede pa makar radili na P7 sa 256 Mb
RAM-a.
cavo.177bulaja,
│Nesto mi se cini, mozda i gresim, kao i obicno, da CAVO nije ni blizu
│onoga cemu smo se, smi mi koji godinama pisemo nekakve Clipper programe,
│priblizili ljudima koji sa uspehom pisu izvardene Win aplikacije.
└───
Nije CA-VO uopšte tako loš kako se na prvi pogled čini :). Ova verzija
1.0 zaista jeste malo traljavo reailzovana (spor IDE, premalo kontrola,
treba dosta DLL-ova za distrubuciju gotovog programa,...), ali bitno je
da je ceo sistem odlično koncipiran i ostavlja prostora da CA sredi ove
nedostatke. Sudeći po najavama verzije 2.0 izgleda da idu pravim putem
(još kad bi uradili i verziju za OS/2 Warp) što reče nbatocanin bili bi
zaista kompletni idiJoti kada bi ispustili iz ruku šansu koju imaju.
Stvari kao što su FiveWin ili Clip4Win (ovaj prvi je dosta bolji) su
zgodne za eksperimentisanje na relaciji Clipper <-> Windows dokle god
ovde postoji dominantno DOS tržište, ali iskreno mi je drago (bez obzira
koliko se nekad zlopatim sa CA-VO:) da u CA nisu odabrali ovaj put koji
jeste lakši ali sa prilično neizvesnim dugoročnim perspektivama.
cavo.178cnenad,
=> proizvoda. Naravno, sve to ima dosta dečjih bolesti, ali ne vidim
=> nikakvog razloga da se ti nedostaci ne otklone.
Ja ne vidim krajnji datum kada će ti nedostaci biti otklonjeni :( možda za
jedno 10 godina ?
Samo žalosno je da najbitniji nedostatak neće biti otklonjen a to je brzina
samog CAVO-la kao i EXE-a koji on proizvede pa makar radili na P7 sa 256 Mb
RAM-a.
cavo.179nbatocanin,
> Da li je u pitanju bug ove verzije ili ...
Vrlo verovatno. Obavezno uradi upgrade.
cavo.180ddjura,
Neke bese pitao kako CAVO radi na WIN 95.
Pa, bas juce sam ga instalirao na isti, i ...
sve je islo ko bog.
Prvih 10 min.
Prvo kompajliranje u kome sam imao gresku ga je iskokalo!
Danas radi nesto bolje, mada nisam bas siguran kako ce sve to da ide
U svakom slucaju, vise nisam tako siguran.
Javicu ovih dana ako budem apsolutno siguran da ne ide.
U protivnom, cekamo ver.2.0
cavo.181nbatocanin,
> Ja ne vidim krajnji datum kada će ti nedostaci biti
> otklonjeni :( možda za jedno 10 godina ?
Ne vidim razloga za pesimizam. Ono, možda si u pravu, ali ipak je
verovatnije da nisi.
> Samo žalosno je da najbitniji nedostatak neće biti
> otklonjen a to je brzina samog CAVO-la kao i EXE-a koji on
> proizvede pa makar radili na P7 sa 256 Mb RAM-a.
Ne znam na osnovu čega ovo tvrdiš. Merenja koja sam radio na VO daju
mu sasvim pristojne performanse. Preciznije, u većini operacija je
bio brži nego Clipper.
cavo.182cnenad,
=> Ne vidim razloga za pesimizam. Ono, možda si u pravu, ali ipak je
=> verovatnije da nisi.
I ja se nadam da nisam u pravu za ovo.
=> Ne znam na osnovu čega ovo tvrdiš. Merenja koja sam radio na VO daju
Na osnovu 386 DX 40 i 4 Mb RAM-a, koji se sada može smatrati kao neka široko
rasprostranjena mašina. Tada kad sam probao CA-VO-la zanemario sam
eventualnu sporost u razvoju aplikacije. Način na koji ona radi me je
razočarao. Opet što neko kaže, za razvoj i rad sa GUI aplikacijama treba
imati jake mašine. Ali da li će svi potencijalni korisnici IMATI takve
mašine ? Da li ja mogu da zahtevam od korisnika programa da ima PENTIUM i
32 Mb RAM-a da bi VO tj. neka mala aplikacija letela ? ;)
Ja mislim da ne mogu.
cavo.183pyramid,
>> Na osnovu 386 DX 40 i 4 Mb RAM-a, koji se sada moze smatrati kao neka
>> siroko rasprostranjena masina. Tada kad sam probao CA-VO-la zanemario
>> sam
A bogami i najlosija masina koja se (cak) i kod nas moze nabaviti. Cinjenica je
da se 386 vise ne proizvodi i da za koji mesec uopste nece vise moci da se
nabavi.
Ne znam da li si probao Win95 na toj masini?
>> masine ? Da li ja mogu da zahtevam od korisnika programa da ima PENTIUM
>> i 32 Mb RAM-a da bi VO tj. neka mala aplikacija letela ? ;)
>>
>> Ja mislim da ne mogu.
Ako operativni sistem veoma tesko radi na nekoj masini kako se moze ocekivati
da program napisan za taj OS moze dobro da radi?
Mozes zahtevati 486. Ja cak mislim da moras. 200DEM vise u ceni, a 3* u brzini.
cavo.184aseovic,
Malo informacija o CA-Visual Objects 2.0
Pozdrav,
Sele
vo2info.arjcavo.185cnenad,
=> A bogami i najlosija masina koja se (cak) i kod nas moze nabaviti.
Ostavi ti trgovce sa njihovim prodajnim programom da rade svoj posao.
=> Ako operativni sistem veoma tesko radi na nekoj masini kako se moze
Windows 3.xx i Windows '95 NISU operativni sistemi već obično grafičko radno
okruženje.
=> Mozes zahtevati 486. Ja cak mislim da moras. 200DEM vise u ceni, a 3* u
Da li je samo 200 DEM razlike u ceni ? I da li je to tebi malo ?
A kamo, VLB video kartica, a VLB kontroler, a memorija, neće biti da izilazi
sa samo 200 DEM.
Ako tipuješ na polovne 486 DX 40, zaboravi.
cavo.186nbatocanin,
> Opet što neko kaže, za razvoj i rad sa GUI
> aplikacijama treba imati jake mašine. Ali da li će svi
> potencijalni korisnici IMATI takve mašine ?
Za razvoj, da, ali ne i za korišćenje. Koliko se meni čini, VO
aplikacije su "tu negde" po brzini sa ostalima.
cavo.187stosic,
Housekeeping file not supplied by CA. 34 files are listed as obsolete
in VO 1.0b in file install.lst.
Move them to a temporary directory then dispose of them as/when desired
obsolete.batcavo.188stosic,
Visual Objects Bug List
bugsep95.zipcavo.189markoc,
Kada mi korisnici budu imali mašine na kojima će da radi WINDOWS tada će
na njima moći da radi iCAVO CAVO.
Pozdrav, Solajac
cavo.190dordije,
Postoji li "negde ovde" Programmer's guide za CAVO u PDF-u kao sto
je Getting started guide ?
cavo.191rmarjan,
Mozda bi bilo dobro da se drugar koji je "dovukao" PDF fajlove za "getting.."
dovuce jos toga i u vezi samog programiranja, valda postoji. Ako moze, to bi
bila prava stvar. "Getting.." su stvarno lepo napravili i ja sam ga izvukao na
laseru, (250 i kusur strana valda) pa je to jedna lepa knjiga. Mogu misliti
kako bi lepo bilo imati i jos toga o CAVO.
Dakle drugari koji ste u prilucinite nam jos toga lepog...
cavo.192stanic,
A jel neko bacio na BrziSezam one PDF-ove odavde.
Pointer...Ili ako može da mi baci tamo u mail.