IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Delphi evangelism, continued...
[link|/forums/render/user?username=ToddBlanchard|ToddBlanchard] writes:
[My Delphi Experience] Is admittedly limited to having an office mate who was gaga for it and gave me several forced demos.
Heh, yeah... We're like that. :-)

But, hey, OTOH -- doesn't that tell you something about it, that it can, uh, "generate" zealotry like that? (Here's hoping that was an otherwise likeable and clued-up office mate, so this comment won't put you off investigating it even more... Or, failing this, that you somehow think *I* am. :-)


At the superficial level it sure seemed like a 4GL kind of thing that generated code.

I could be wrong.
Well, "yes and no"; or, "that depends"... Depending on what you mean by "generate[d] code", it could be that you're more right than wrong, or vice versa.

It *certainly* doesn't run off and "generate" reams and reams of code behind your back, like the "ATX-macro"-infested bloateroon M$ "Visual" [Hah!] C++ did on the few occasions I had to try it.

Sure, if you double-click an event slot in the "Object Inspector" (the design-time property editor), it creates a procedure skeleton:
Procedure Button1Click(Sender: TObject);
begin

end;
in the code editor, and takes you to it -- but that's all. (And if you click the wrong slot by mistake -- that can happen, apparently not too infrequently, since they built this in -- just leave it empty, and the IDE removes the empty skeleton for you.) That's not too much, is it?

And if you create or open a form in the IDE, and drop a bunch of components on it[*], then it saves a form definition file that lists all the components on the form, and the values of their properties. (But, given what you say below, that *can't* be too much! :-)

([*]: Yes, both visual and non-visual components; there's even a non-visual type of form, to hold *only* non-visual components -- it's called a DataModule, so guess what it's mainly used for. :-)


Also, I have a little experience with Object Pascal from MacApp days. Its still an "emulated" OO language in the spirit of C++ and Java rather than a dynamic one in the spirit of Smalltalk and ObjectiveC.
Well, that's basically (as almost everything is, once you boil it down enough) a question of semantics -- how to define "OO language"?

Personally, I'm a bit put off by your apparent implication that strongly-typed languages are somehow inferior or "less OO" (cf "emulated", above) than loosely-(or dynamically-)typed ones. Where in the Bible does it say that those things necessarily have anything to do with each other?


Which means I don't much care for it on a conceptual level.
Hmph, yeah, well... What am I supposed to say to that? What you're saying is basically, "My mind is made up, because my mind is made up" -- sounds rather Tablizer, actually... The only reply that comes to mind is, "Your loss".


My third bias against it is that it runs on PCs - something I've never cared to work on. Unix servers are pretty much the only place I ply my trade.
Yeah, well, again with the definitions: So what does "Unix servers" mean?


I've heard Delphi now works on Linux?
Yup -- it's called "[link|http://www.borland.com/kylix/|Kylix]"; the Delphi-language version of [link|http://www.borland.com/kylix/professional/|Kylix Professional] comes with [link|http://www.borland.com/delphi/delphi_professional/|Delphi Professional] (and the same goes for the Enterprise editions of both, I gather). The "Open Edition" (you can distribute GPLed apps only) of Kylix is available for [link|http://www.borland.com/products/downloads/download_kylix.html|free download], though.

[link|http://www.borland.com/delphi/|Delphi 7] "[link|http://www.borland.com/delphi/delphi_personal/|Personal Edition]", for Windows, OTOH, costs money; US$99.- or so, I gather -- and you don't get to distribute apps commercially! But hey, if you think you'll *ever* come near a Windows PC to try it out on, couldn't you sacrifice just ~16 Euro [you're still in Paris, right?] to try it out? If so, just buy [link|http://www.pcplus.co.uk/magazine/default.asp?pagetypeid=2&articleid=10451&subsectionid=392|issue 196] (December 2002) of British [link|http://www.pcplus.co.uk/|PC Plus] magazine; it has D7Personal on the cover [link|http://www.pcplus.co.uk/magazine/default.asp?subsectionid=393&subsubsectionid=0&pagetypeid=2&articleid=10452|CD]/[link|http://www.pcplus.co.uk/magazine/default.asp?subsectionid=394&subsubsectionid=0&pagetypeid=2&articleid=10453|DVD]!)


But that would reqire me to buy a PC and I have no use for PCs. I'm quite happy with OSX.
Oh, so you have a Mac? You know you *can* actually run Linux on that? Not that it'd help, though -- the Kylix compiler only generates x86 binaries. :-/

Cobalt / Intel / BSD "Unix Servers", though... Are they "Unix Server" enough for you, or do you insist on calling everything you don't want to know about "PCs"?


Why I think Cocoa is the coolest thing:

The NextStep UI Builder (called InterfaceBuilder or IB) is radical in what it does. You actually visually assemble objects together - they don't have to be UI objects either.
Uuh... You aren't talking about that "Visual Programming" fad from the late eighties, I take it -- where you were supposed to *literally* "visually assemble" objects, by drawing lines from one thingy's doodad-output knob to another doohickey's doodad-input slot, and so on? Because that, as I gathered at the time, only served to mess up your IDE with a literally *visual* expression of the term "spaghetti code"...

In Delphi, if you had, say, a TDoohickey component that takes a TThingy component's output as its input (or vice versa), the TDoohickey would have a Thingy property that you set to point to the TThingy (or Doohickey, if it's the other way around) you want, usually by just selecting it from a drop-down list in the Object Inspector with your Doohickey (or Thingy, if it's that way around) selected on the Form. These mutual pointing-to relationships are what constitutes the "assembling" -- is that visual enough for you, or should we call it "semi-visual"? :-)


Once you create an assembly (this thingy connects to that doodad via this property and sends this message on getting this event....) it *serializes* the set of objects into a file (called a nib file for the extension used). Usually this is a window with widgets and your home-made controller class and maybe some model objects. Doesn't have to be though.
Muahahahaa!!!

And what do you think Delphi (and C++ Builder, and Kylix) does, then?!? :-)

Except Delphi isn't MVC-based; the TForm-descendant class you build is kind of a "View and Controller rolled into one", I suppose(?). Also, Delphi components don't "send[s] this message on getting this event", they "execute an event-handler procedure" in stead. Yes, events are single-cast in Delphi. (Your "message sending" means they can be multi-cast in InterfaceBuilder/Cocoa, I assume?) And Delphi's files are called [whatever].DFM, for "Delphi ForM", instead of .NIB.


So when you want a new instance of that window (or other kind of assembly), you reinflate the nib again. The nib acts as a sort of template.
Heheheh... You do exactly the same thing in Delphi, only the terminology is different: We'd call it "creating a new instance of your form". :-)


This means you don't subclass nearly as much in Cocoa programming (hardly ever actually).
in Delphi, you usually build just one sub-class per form, the window object class itself. (And the IDE makes this so transparent that many [most?] users probably aren't even aware that that is what they're doing -- for good or bad...)


Instead, you just assemble stuff.
Precisely!

I suppose Delphi owes quite a lot to to NextStep and InterfaceBuilder... Hey, you think it's a coincidence that the original name they considered (still visible in the "Window Class" name of the IDE itself, on Windows) was "AppBuilder"? :-)

But then it also owes a lot to -- Ouch! This hurts, but I gotta say it: -- Visual Basic. Only, Delphi got it *right*, OO-wise and component-wise. One way to describe Delphi would be, I dare suggest, "NextStep/IB/Cocoa underneath, looking like Visual Basic on top".

OK, so the parallell to NextStep/IB/Cocoa isn't exact, given the different typing and object models; but the more I hear about it, the closer it sounds.

(And, uhm, I'm not quite sure on the time-line here -- but, does perhaps even NextStep/IB/Cocoa owe some small debt to VB... Or is it the other way around? :-)


This is kind of what Java beans wanted to do with its serialization and stuff, but Sun messed it up and the implementors couldn't get their head around real serialization so they all punted and did code generation.
Exactly... Only, the creators of Delphi *didn't* punt or mess up; they didn't have to, 'coz they *did* "get their head around real serialization" (AFAICT).


I also think they sort of had to because of Java's static binding nature.
Apparently not for *that* reason (at least not that alone), since Delphi is "statically-bound" (? Assuming this means what I'd call statically-typed) too, and still manages to get it right.


Scott -- buglet?:
<blockquote type="cite">None</blockquote>
Can't see that "None" in Todd's post.
   Christian R. Conrad
Microsoft is a true reflection of Bill Gates' personality - the sleaziest, most unethical, ugliest little rat's ass the world has seen unto this time.
-- [link|http://z.iwethey.org/forums/render/content/show?contentid=42971|Andrew Grygus]
New Buglet fixed, thanks.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Oh yeah, sorry... (new thread)
Created as new thread #59420 titled [link|/forums/render/content/show?contentid=59420|Oh yeah, sorry...]
   Christian R. Conrad
Microsoft is a true reflection of Bill Gates' personality - the sleaziest, most unethical, ugliest little rat's ass the world has seen unto this time.
-- [link|http://z.iwethey.org/forums/render/content/show?contentid=42971|Andrew Grygus]
New Fixed Buglet == Fixlet, no?
________________
oop.ismad.com
New VisProRexx
... functions a lot like this. It has a dialog builder tool, and you attach events to each object on the dialog. It has a bunch of premade code snippets for handling events, so you can build the framework around the event (OnMouseClick, OnMouseDoubleClick, et al). Once you know REXX, it makes building GUI apps very easy... if you distribute the runtime dll, the apps are quite small as well. If you statically link it into the executable, then it ends up significantly larger. It's a very nice system for prototyping backends and frontends...
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Laval Qu\ufffdbec Canada                   [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New Gotta congratulate yer enthusiam!
New Divorce the GUI builder and language
Which means I don't much care for it on a conceptual level.
Hmph, yeah, well... What am I supposed to say to that? What you're saying is basically, "My mind is made up, because my mind is made up" -- sounds rather Tablizer, actually... The only reply that comes to mind is, "Your loss".
[emph. added]

What are you implying here? That I am "stubburn"?

I am OPEN to inspecting any open evidence you have. So far you only give vague philosophy that does not translate to anything real. It makes you feel comfy inside, that is all I can get out of you.

The more OO code I see, the more I am convinced that OO fans actually enjoy inventing (crippled) databases from scratch. Almost half the methods in some designs are things that using a DB would make *unnecessary*. Your API's are thus bloated. For example, a table-oriented listbox (dropdown) would grab its list from a table or query. However, OO API's have metheds like addItem, deleteItem, sortItems, findItem, findDescription, etc. A "micro-DB" if you will. And, respected OO books often encourage people to use arrays to manage links between classes. Hand-built indexing. They are reinventing the database from scratch. (That approach is similar to "network databases" that fell out of style after relational proved more logical and virtual. You guys are stuck in the 1960's. You are using Beatle-era technology.)

If Delphi is so fricken great, then SHOW some Delphi code objectively kicking procedural/relational code (or tables) in the nuts with things like code size, change-impact analsys, etc. Why is that so hard and why do you get huffy when I ask for it? Should I just roll over and take your authoritarian-based claims in the arse?

Personally I think Delphi made the VB and Java mistake of *tying* the GUI to a particular language. A table-oriented approach can *divorce* the two so that any language can talk to the GUI simply by setting table-based attributes and responding to events (using either an event table or dispatching code, your choice).

If we divorce the two, then not only is the learning curve smaller (only one GUI builder to learn), but people don't have to switch languages to get a decent GUI builder. And, GUI builder vendors can spend more effort on getting that part right because their audience will be larger.

With tables, you can have your cake and eat it to. (There are procedural and OO libraries for similar things also, but the API's still tend to be language-specific and have problems managing state.)
________________
oop.ismad.com
New Dr. Dialog (OS/2) does that
While it's oriented around using REXX as it's event language, you can in fact use any language... Peter Moylan uses Modula for its events, for example.
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Laval Qu\ufffdbec Canada                   [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New Any ports to OS's with more than 1 percent market share?
________________
oop.ismad.com
New No.
Of course, for my personal use, marketshare is irrelevant.
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Laval Qu\ufffdbec Canada                   [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New Re: Divorce the GUI builder and language
The more OO code I see, the more I am convinced that OO fans actually enjoy inventing (crippled) databases from scratch...

Still spreading the same old FUD I see...

If we divorce the two, then not only is the learning curve smaller (only one GUI builder to learn), but people don't have to switch languages to get a decent GUI builder.

Take a look at XUL. Here's a few links:

[link|http://www.mozilla.org/xpfe/xptoolkit/xulintro.html|http://www.mozilla.o...kit/xulintro.html]
[link|http://www.xulplanet.com/|http://www.xulplanet.com/]
[link|http://luxor-xul.sourceforge.net/|http://luxor-xul.sourceforge.net/]

I really want to use luxor-xul, but it's GPL :(. I'm stuck with nasty code generating GUI builders for now.

Regards,
John
New Re: Divorce the GUI builder and language
Yeah, Bryce marches out of time to a different drum.
-drl
New Not original enuf to have new FUD I guess
Still spreading the same old FUD I see...

Yeah, unlike OO fanatics, I cannot come up with *new* FUD as fast.

I especially dig their "refactoring" to cover up what is really going on: Code *rework* because OO *failed* at its change-friendly goals. "I got an idea: since we failed at reducing code rework that we originally promised, we will just give code rework a fancy techy name." A vocab cloak worthy of MS.
________________
oop.ismad.com
New ...and here's why.
You're too busy trying to refactor the English language to come up with anything interesting to say.

Your prose makes my eyes bleed.


Peter
[link|http://www.debian.org|Shill For Hire]
[link|http://www.kuro5hin.org|There is no K5 Cabal]
[link|http://guildenstern.dyndns.org|Blog]
New I'm confused...
I especially dig their "refactoring" to cover up what is really going on: Code *rework* because OO *failed* at its change-friendly goals...

So you argue that since OO failed at it's change-friendly goals, they invented refactoring (which is changing the structure of code without changing it's behavior). If OO is so change unfriendly, why would changing OO code (refactoring) be so popular?
Regards,
John
New Inertia
If OO is so change unfriendly, why would changing OO code (refactoring) be so popular?

You seem to be suggesting that something that requires more effort should disappear from the market place. However, there is often *inertia* in the industry which prevents this. QWERTY, COBOL, and Microsoft servers are an example of things that were *more* effort than alternatives, but organizations just did not want to change for whatever reason. Job security, perhaps. Good auto mechanics have fewer repeat customers, it is sometimes said.

Futher, OO gurus did not want to admit failure, so they just renamed failure to make it sound more pleasent.

BTW, I did not say that OO fans "invented" the term or concept of refactoring. I don't know its true origins. I am saying that OOP has popularized or mainstream-ized the concept. Rather than admit it failed to make code change-friendly, they made code rework into a standard corporate function or step.
________________
oop.ismad.com
New My head hurts
Let's try this one last time:

You argue that OO failed to make code change-friendly.

You then argue OO gurus brought out refactoring to cover up that failure.

How could that possibly be since refactoring is about changing code? Wouldn't refactoring OO code be impossible if OO was not change-friendly?
Regards,
John Urberg
New That's normal when you talk to Tablizer. Get used to it.
--

We have only 2 things to worry about: That
things will never get back to normal, and that they already have.
New ROFL! Thanks, Doc.
Alex

"I have a truly marvelous demonstration of this proposition which this margin is too narrow to contain. -- Pierre de Fermat (1601-1665)
New Misunderstanding "change friendly"
Okay okay, now I see the problem I think.

There is a big misunderstanding WRT "change friendly".

I meant how the code as a whole weathers changes, not each individual peice of code. Change-friendly design is a design that requires the fewest code changes upon a given application requirements change.

It is *not* the *ability* of the code to morph, but the NEED to undergo change or morphing in the first place. It would be roughly analogous to a plumbing design that avoids the need to bend pipes, and NOT the maluability (bendability) of the pipes themselves.

Is that clear now?

This kind of reminds me of when John Lennon said, "The Beatles are bigger than Jesus Christ now" in the 60's (IIRC radio story). Religious groups went crazy and held mass record burnings. What they did not understand is that John was comparing their *popularity* to Jesus, and not their value as beings. Some preists came forward and even agreed with John, saying that "young people don't pay enough attention to religion and too much to pop stars" (paraphrased). John tried to explain the comment to the press, but it didn't seem to come out right.
________________
oop.ismad.com
New Where's the "tablizer dictionary"?
You need one with all the terms you make up.
Regards,
John Urberg
New oopsismad.com, it makes good reading and helps
understanding some points that Bryce makes.
thanx,
bill
oops is tops
will work for cash and other incentives [link|http://home.tampabay.rr.com/boxley/resume/Resume.html|skill set]

"Money for jobs? No first you get the job, then you get the money" Raimondo
New re: Where's the "tablizer dictionary"?
I thought it was self-explanatory, but I was wrong. It seems there are multiple valid (or semi-valid) interpretations that I failed to anticipate. I am sorry. I will avoid its usage for now on.

How about "maintenance friendly" instead?
________________
oop.ismad.com
New But then... Easy re-factoring IS "maintenance-friendly"!
A lot more "maintenance-friendly" than DIFFICULT re-factoring, anyway...
New Are you saying OOP is easier to refactor?
________________
oop.ismad.com
New The real Tablizer dictionary
Change friendly = p/r code
Maintenance friendly = p/r code

OO code != p/r code therefore OO is by definition not change friendly or mainentance friendly

Refactoring = something OO gurus made up/stole to hide the fact that OO is not change and maintenance friendly
New OMFG! ROFLMAO! LOL2!

[link|mailto:curley95@attbi.com|greg] - Grand-Master Artist in IT
[link|http://www.iwethey.org/ed_curry/|REMEMBER ED CURRY!!!]

Your friendly Homeland Security Officer reminds:
Hold Thumbprint to Screen for 5 seconds, we'll take the imprint, or
Just continue to type on your keyboard, and we'll just sample your DNA.
New You're referring to the design of the code.
IOW, I understand your qualification to mean a well though out design will tend to only need changes to it's meta-data than in the actual code.

Wade.

"Ah. One of the difficult questions."

New re: You're referring to the design of the code.
IOW, I understand your qualification to mean a well though out design will tend to only need changes to it's meta-data than in the actual code

Well, that is certainly part of it. But it also has to do with how much code rework is needed per change. For example, in program A, a given requirements change may result in splitting 2 classes and moving 2 methods to another class; but in program B, the same change may only result in altering 2 classes in place. The second one would probably get a higher "change-friendly" score. (There are finer granularity counting techniques, I would note.)

It is based on the total effort of rework you could say, regardless of whether it is code or tables that have to be altered. (Note that meta-data alteration may require a less skilled person, and thus less money expended by the company.)
________________
oop.ismad.com
Expand Edited by tablizer Nov. 8, 2002, 01:06:34 AM EST
New I fold.
Okay, I've got a copy of Kylix 1.0 laying around here somewhere. I'm gonna buy a new Dell Desktop and put RHAT 8 on it. I'll pay whatever the upgrade costs for Kylix to whatever version is current and give it a legitimate whirl. I haven't written any Pascal since college (more years ago than I'd like to admit, but what the hell). But you are still full of shit w/that "bound control" nonsense. ;-)
New Great! (or something... :-)
New Re: I fold.
Give Delphi's database controls a try. Not everything sucketh and bloweth like VB's controls. :-)
New CRC wouldn't answer me, will you?
One problem w/bound controls is the following:

1 form w/10 "bound" textboxes (or textareas or whatever they're called in Delphi) to columns in say, a Sql Server table.

When I change a value in those textboxes (and move the focus elsewhere), VB will spawn a new temp stored procedure to update the value I just changed (that's create, compile, execute on the server). Then I navigate to the next textbox and change its value - another temp sp is created, compiled, executed, then the next textbox, etc.

So, if I use "bound" controls, (and let's say I'm not using disconnected recordsets - for the sake of argument), I will create 10 separate temporary stored procedures, have 10 separate compilations and 10 separate executions (and these temp sp's are erased after they are executed) to update 1 row of my table.

As opposed to using un-bound controls where I use one stored procedure, server resident, which gets compiled the first time its called and then is on the server for everyone to use in a compiled state (at least until the server is booted again).

VB does this regardless of back-end. I'm interested to see if Delphi/Kylix does the same thing. I'd bet it does, 'cuz if it doesn't you'd run the risk of losing the update if the user changed one value and then exited the app.

I just don't see how you can get around this performance issue using bound controls. But, the criticism that I haven't seen Delphi's way is valid, hence my planned dabbling with Kylix.
New Sure -- I was going to, anyway, but...
...then I wasn't sure if it were smart to take the risk of alienating you from trying Kylix like you said, by insisting that you were wrong on bound controls.

(Which, of course, you still are! :-)


One problem w/bound controls is the following:

1 form w/10 "bound" textboxes (or textareas or whatever they're called in Delphi) to columns in say, a Sql Server table.
["DBEdit" controls, actually, but go on.]
When I change a value in those textboxes (and move the focus elsewhere), VB will spawn a new temp stored procedure to update the value I just changed (that's create, compile, execute on the server). Then I navigate to the next textbox and change its value - another temp sp is created, compiled, executed, then the next textbox, etc.
Aaargh -- that's the STUPIDEST thing I've ever heard!!!

Are you *sure* it wasn't Bryce -- or, even worse, Norm -- who created the VB implementation of bound controls?!?


So, if I use "bound" controls, (and let's say I'm not using disconnected recordsets - for the sake of argument), I will create 10 separate temporary stored procedures, have 10 separate compilations and 10 separate executions (and these temp sp's are erased after they are executed) to update 1 row of my table.
One procedure *per field*, you say -- not even per *record*? Ho-lee SHEE-IT! No wonder people are negative to the whole concept; if they think THAT is the only way to do it... I can, as so often before, only marvel at Microsoft's complete and utter incompetence.

Oh well, anyway: ... Dang, I don't know how to say this without having a small history lecture first. Where to begin? OK: If you're doing this using Delphi 5 or Kylix 1 or newer, you probably *would* be using "disconnected recordsets", in the form of TClientDataset; if you're using Delphi 7 or Kylix 3, then you ARE doing so, because the new SQL driver architecture ("db express") doesn't really work without it; it only gives you unidirectional read-only cursors. But, even in the bad old days of Cached Updates and TSqlUPdate -- on Delphi 3, that is, ~1997 -- *you* got to write the exact SQL Insert, Delete, and Update statements that were executed *recordwise*, stepping through the whole record set one row at a time when you called ApplyUpdates.


As opposed to using un-bound controls where I use one stored procedure, server resident, which gets compiled the first time its called and then is on the server for everyone to use in a compiled state (at least until the server is booted again).
I take it the VB db-architecture doesn't even have separate TStoredProc objects, then...? [Shakes head in sorrow]


VB does this regardless of back-end. I'm interested to see if Delphi/Kylix does the same thing. I'd bet it does, 'cuz if it doesn't you'd run the risk of losing the update if the user changed one value and then exited the app.
Muahahahahahaha!!!

No, my friend, it most certainly DOES NOT do that! (And never has, AFAIK.)

I mean, heck, even the naive TSQLTable component in Delphi *1* -- A.D. 1994! -- never was THAT stupid, as to try and send something to the server before you scrolled off the current *record*.

Oh sure, you *could* miss some pending updates in a Delphi app -- if you CRASH it before it gets around to applying its updates back to the server... Or, OK, if you haven't coded a simple check-for-pending-updates into the Close event of your main window, or some other such suitable event. (But you'd have to be a pretty *bad* coder to miss doing that, IMnshO.)

And ISTR, if you closed the oldest kind of app, using the TSQLTable, you didn't have to check even that possible single row for pending updates; the TSQLTable object class itself had that check built-in. (But don't quote me on that, 'coz I can't remember for sure any more. I *has* been a while, after all... :-)


I just don't see how you can get around this performance issue using bound controls. But, the criticism that I haven't seen Delphi's way is valid, hence my planned dabbling with Kylix.
Phew...

Well, thank Ghu for that.

As will you.
   Christian R. Conrad
Microsoft is a true reflection of Bill Gates' personality - the sleaziest, most unethical, ugliest little rat's ass the world has seen unto this time.
-- [link|http://z.iwethey.org/forums/render/content/show?contentid=42971|Andrew Grygus]
New I saw that
that's the STUPIDEST thing I've ever heard!!! Are you *sure* it wasn't Bryce -- or, even worse, Norm -- who created the VB implementation of bound controls?!?

You are not being nice. Remember, "Attack ideas, not people".
________________
oop.ismad.com
New Replaced -- literally, that is, "re-placed"...
...to the Flame Quarantine forum, where it belongs.

Hmm, I feel a feature request coming on... Look out, Scott! :-)
Expand Edited by CRConrad Nov. 8, 2002, 08:23:29 AM EST
Expand Edited by CRConrad Nov. 8, 2002, 08:29:47 AM EST
New You were supposed to. (new thread)
Created as new thread #61815 titled [link|/forums/render/content/show?contentid=61815|You were supposed to.]
   Christian R. Conrad
Microsoft is a true reflection of Bill Gates' personality - the sleaziest, most unethical, ugliest little rat's ass the world has seen unto this time.
-- [link|http://z.iwethey.org/forums/render/content/show?contentid=42971|Andrew Grygus]
     Delphi evangelism, continued... - (CRConrad) - (36)
         Buglet fixed, thanks. -NT - (admin) - (2)
             Oh yeah, sorry... (new thread) - (CRConrad)
             Fixed Buglet == Fixlet, no? -NT - (tablizer)
         VisProRexx - (jake123)
         Gotta congratulate yer enthusiam! -NT - (wharris2)
         Divorce the GUI builder and language - (tablizer) - (22)
             Dr. Dialog (OS/2) does that - (jake123) - (2)
                 Any ports to OS's with more than 1 percent market share? -NT - (tablizer) - (1)
                     No. - (jake123)
             Re: Divorce the GUI builder and language - (johnu) - (18)
                 Re: Divorce the GUI builder and language - (deSitter)
                 Not original enuf to have new FUD I guess - (tablizer) - (16)
                     ...and here's why. - (pwhysall)
                     I'm confused... - (johnu) - (14)
                         Inertia - (tablizer) - (13)
                             My head hurts - (johnu) - (12)
                                 That's normal when you talk to Tablizer. Get used to it. -NT - (Arkadiy) - (1)
                                     ROFL! Thanks, Doc. -NT - (a6l6e6x)
                                 Misunderstanding "change friendly" - (tablizer) - (9)
                                     Where's the "tablizer dictionary"? - (johnu) - (6)
                                         oopsismad.com, it makes good reading and helps - (boxley)
                                         re: Where's the "tablizer dictionary"? - (tablizer) - (4)
                                             But then... Easy re-factoring IS "maintenance-friendly"! -NT - (CRConrad) - (1)
                                                 Are you saying OOP is easier to refactor? -NT - (tablizer)
                                             The real Tablizer dictionary - (johnu) - (1)
                                                 OMFG! ROFLMAO! LOL2! -NT - (folkert)
                                     You're referring to the design of the code. - (static) - (1)
                                         re: You're referring to the design of the code. - (tablizer)
         I fold. - (mmoffitt) - (7)
             Great! (or something... :-) -NT - (CRConrad)
             Re: I fold. - (wharris2) - (5)
                 CRC wouldn't answer me, will you? - (mmoffitt) - (4)
                     Sure -- I was going to, anyway, but... - (CRConrad) - (3)
                         I saw that - (tablizer) - (2)
                             Replaced -- literally, that is, "re-placed"... - (CRConrad)
                             You were supposed to. (new thread) - (CRConrad)

Cococabanana Blaps - It's not just for breakfast anymore!
323 ms