Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Superclass
Message
 
To
02/06/1997 10:41:32
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Title:
Miscellaneous
Thread ID:
00033281
Message ID:
00034600
Views:
46
> > Is anyone from the original Fox team still inside or not? Grid sure > looks like a too-many-hardwired-defaults-kludge, not half the way Fox > used to be before. > I share your feeling here. Except for a few nice features, everything that is not FPD2.0 is not at the level of the original non M$ product. I passed from Turbo Pascal to FPD2, purely because I was impressed by the multitude of features it offered. FPW I did not use at all. VFP3.0 got me out of business. VFP5 is OK. At M$ it is obvious that they do not put their best guys in. Guess they cannot afford to drop it altogether, but they'd rather had that Foxpro would not exist. It has mostly to do with profitability. They think they cannot make money by putting an effort into VFP. Face it, your enduser does not pay anything to the M$, they'd rather you let them install SQL server or something they have to pay for. Programming languages are not a market anymore, like in the good old eighties. Guess FPD 2.0 is the last of its kind where the manufacturer could make a buck. If you do not believe me, look at Borland ... > > Inheritance of browse command's _abilities_ is the minimal request I ... the browse reminds me of Wordperfect. It could do everything and the contrary of everything, the challenge was to find out how!. It was the kind of product, that gave you the feeling that they lost the sources of the code:) ... > expected to find answered in the grid (they did advertise it as such, > didn't they say "forget the browse - here's the grid"). I think they > started the whole class with too much ambition, but never gave it any > final touch. Shipping date was always due yesterday, as it seems. > Again, I agree ... And to think that they could have used the cell concept like in VBA for excell ... > > On the other hand you must ask yourself is you _want_ to go OO here. > > Because I went OOP with this in FPD2.6 :) I had a grid-like incremental > search function, which worked on lots of @ says etc, and had a generator > written for it which generated snippets for defining/activating the > window, copying a record into an array row, and displaying an array row > on window in appropriate color. The main engine only called these > snippets (and, eh, the snippets were generated _into_ the .prg which > called the generator :), so whenever I changed something in the engine, > it reflected all the windows, no matter when they were generated. Now I > move to an OOP environment, and can't have my own class for that. > [what's the polite euphemism for "shit"?] > Here there is a nuance. Even if in terms of efficiency of programming there is only a small difference, I make a distinction between program generation and oo's Is_A and Has_A relationships between objects. (Builders and wizzards belong to the program generation type.). It took me a while (if you have time, look at a thread called 'OO, no more than a nice syntaxic enhancement?' of last year here on the UT) but there is no doubt in my mind that OO is a powerful paradigm, because it is applicable to Design and Analysis as well. So even if this sounds as science fiction at this stage, I think we will be 'reusing' elements at the analysis level in the future, which face it, does opens up amazing opportunities. Program generation, how powerful you make it, misses that dimension. > > argue that the grid is at the limit of both. Builders do give you a lot > > of flexibility and efficiency in the development effort, especially > > because more than other controles, they are linked to the tables, and > > since the latter are not objects, (and will they ever be?). > > Fiddling with builders and clicking around is what I want to save my > programmers from. What I meant is, build your own builders that are compatible with your grid base class. The work is in the grid base class. Once you have that, the builder is very easy to write, once you overcome a few typically Foxprolike idiosyncracies. Back in the FPD days, the Browse was the nec plus, if you could handle its quirkness. Most advanced programmers did. The grid only kept the quirkness, but conceptually it is quite different, even if internally, they must be very similar. For data input I have griddoc base class that supports automatic next line, which a feature that to this day I do not understand why it is not standard. They never had to fill out an invoice for christ sake? Mind you this is not a VFP problem, I know no package, not in DOS, not in Windows that supports the next line feature. I had to deploy treasurers of ingenuity to implement it, and it still does not work well! I also prepare xWhen and xValid statments at the grid level that are called by the When/Valid methods of the textboxes in the columns (these are textbox classes that are put as controlsource but the builder). The generate a case statement for each field of the underlying cursor. So I do not need to break my back to go to the textbox valid's method in the outline access (since we _are_ complaining, another 'marvel') for the local validation of the fields. >I strongly need to be able to define defaults, so the > wizard does it all, and some tiny percentage be left to customization > via builder. I will write the wizard, no problem (I'll take my time), > but if it had to set a dozen properties with the same values every time > it adds column, that's lot of unnecesary overhead. Besides, the builder > would have to do the same (any change in wizard would have to be > mirrored in the builder), and if a column was added manually in the > forms designer, it would still have to be worked on because it would > inherit wrong defaults... Having a class... OK, I am boring myself. That you do with builders that you make yourselve. You submit the cursor that will be underlying the grid to the builder, from there you create the columns, set the properties, and 'generate' code. > > > A lot would depend of course on what you are developing. Me, I develop > > customer tailored software, for which I find VFP quite appropriate, so > > OO is not necessarily a priority for me, allthough it surprisingly did > > help a lot. > > Custom tailoring assumes you don't invent sleeves and pockets every time > - you pick existing ones and sew them on :) To clarify the matter, what > I did with generators is the same what I expect of OOP - relieve me from > the physical work, do the 90% of dirty stuff for me, and leave me to do > the 10% nice and easy. > Here again, I do not agree. I think foxpro relieved us from the physical work. But in my line of work, I have to allow for exceptions here, and small adjustments there. I cannot build on strong and exhaustive system requirements, the environments change a lot, and are not defined(able) very precisely. As I said, under these circumstances, VFP is a very flexible tool. But for OO, you need a to build an abstract theory, which you cannot always do. This is why I was surprised that VFP layed so much emphasis on OO. I did not think that it was what the average (here _I_ was egocentric) programmer needed. I changed my mind about this. By building a framework, you can integrate sophistication into your programs, and what is more, each time you enhance the framework, these enhancemants are distributed across the application. Program generation is more discrete (as opposed to continuous) in this respect. > > One more thing, the under average quality of the grid contributes to the > > steepnes of the learning curve, I think we lost a lot of Fox Adherants > > because of it. > > I don't fall into the cathegory. I'm an addict :) And so am I, but they almost lost me for Delphi. If had not been for the sucking database, we would not have been dialoguing so pleasantly.... > > > My 2 BEF (again). About Russian COBOL, amazing no? > >) What? You do not know what a BEF is? 1 Belgian Frank, about 3.5 US cents, 2 BEF is 7 cents, like they say 'my 2 cents, pennies, roubles, dinars of wisdom'. Sure 7 cents is a lot under the circumstances, but then this is Belgium, everything is more expensive! Take care, Marc

If things have the tendency to go your way, do not worry. It won't last. Jules Renard.
Previous
Reply
Map
View

Click here to load this message in the networking platform