Board index » delphi » Re: Win32 Needs

Re: Win32 Needs


2006-09-01 01:06:05 AM
delphi106
Craig Stuntz [TeamB] writes:
Quote
Well, you just aren't going to get good Unicode support on 9x, no
matter how badly you want it.
Right, but the question becomes: How to provide it, and /not/ cut off
Win 9x for our customer's customers.
--
Nick Hodges
Delphi/C# Product Manager - Borland DTG
blogs.borland.com/nickhodges
 
 

Re: Win32 Needs

Quote
1. Unicode VCL
No 9x compatibility please. If somebody still needs it in 2008, they can
use Delphi 7 or 2006).

Does that mean Delphi will always include a Delphi 1 and 7 for Win31 and
Win9x?
-BKN
 

Re: Win32 Needs

Quote
3. Namespaces instead of unit names. Now it is hard to write small units
if some objects works together because of circular reference (I don't like
big sources like forms.pas). It will be nice if we can keep one object in
one file.
Namespaces are... ok, but one object per unit? Nonononono, even C# doesn't
do this. I hate that in java, and am pleased that I can have my tiny helper
class in the same unit in Delphi/C# and don't have to clutter up the project
with yet another unit...
-BKN
 

Re: Win32 Needs

Quote
I don't use it that often, and it is usually within a block of code where
I'm updating a ton of properties of one object. I tend to find myself
missing it inside of C# for that very reason...
... but now that the IDE has code-completion, surely 'with' is more trouble
than it is worth.
cheers,
Chris
 

Re: Win32 Needs

Quote
... but now that the IDE has code-completion, surely 'with' is more
trouble
than it is worth.

I don't use it for typing speed, I use it for readability. If I have some
gnarly 7 layer deep property that has 10+ assignments, it is easier for me to
read. Compare these two blocks:
Company.ClientList[0].Customers[1].Addresses[0].Address1 := 'some value';
Company.ClientList[0].Customers[1].Addresses[0].Address2 := 'some value';
Company.ClientList[0].Customers[1].Addresses[0].City := 'some value';
Company.ClientList[0].Customers[1].Addresses[0].State := 'some value';
//compared with
with Company.ClientList[0].Customers[1].Addresses[0] do
begin
Address1 := 'some value';
Address2 := 'some value';
City := 'some value';
State := 'some value';
end;
And that is a good case scenario. Sometimes it goes real deep and the with
just makes it more readable to me.
-BKN
 

Re: Win32 Needs

Jo Reiter writes:
Quote
Good idea, but that is not the point.
Actually, it was, since TVirtualTreeView can look like a grid IIUC. I
haven't worked directly with it yet.
--
John Kaster blogs.borland.com/johnk
Features and bugs: qc.borland.com
Get source: cc.borland.com
If it is not here, it is not happening: ec.borland.com
 

Re: Win32 Needs

Quote
I'd love that, but it pretty much requires reflection.
Actually, it only requires RTTI: as soon as you can enumerate key
properties and their type, stream them and create instances from
class/recordtype names, you have all that is needed.
A more generic "published" mechanism that wouldn't be so tied to
design-time UI stuff would already achieve quite a lot and then some.
Eric
 

Re: Win32 Needs

Brian Moelk writes:
Quote
I actually like the TDBGrid that is included, but some simple
things could spruce it up and give it more life in regards to
look/feel.
L&F is one part. Functionality (like I have added in CDSGrid, on
CodeCentral) is important, too. There's some things I have wanted to put
into the sortable grid that I haven't seen anywhere yet, and they're
quite feasible to do, but TVirtualTreeView makes them even more
feasible.
--
John Kaster blogs.borland.com/johnk
Features and bugs: qc.borland.com
Get source: cc.borland.com
If it is not here, it is not happening: ec.borland.com
 

Re: Win32 Needs

mamcx writes:
Quote
Point me to how extract that info (before I try with classic spidering
but I get blocked), and maybe I build one (I'm the main and *only*
developer of MUTIS, a open source search engine on Delphi)
Anders said he uses 7-zip *shrug* I haven't tried it; but will try it
sometime.
That would be great to build an IDE plug-in using MUTIS to enable free
text searching.
--
Brian Moelk
Brain Endeavor LLC
XXXX@XXXXX.COM
 

Re: Win32 Needs

Rob McDonell writes:
Quote
Yes please. I am struggling with exactly this at the moment.
I'll see about posting my current TDBTreeView to CodeCentral and start
investigating refactoring it to use TVirtualTreeView. I did a bunch of
data-aware controls back in the Delphi 5 timeframe that still work and
would be pretty convenient for people to have.
I'd like to get the code into a community project so others can improve
it and I can just moderate check-ins. Community projects is also on my
list to do in the near term.
--
John Kaster blogs.borland.com/johnk
Features and bugs: qc.borland.com
Get source: cc.borland.com
If it is not here, it is not happening: ec.borland.com
 

Re: Win32 Needs

Rick Beerendonk writes:
<snip>
Quote
I don't see why *2* would make things more difficult. Just put your vars and
functions in an object. Easy enough. It might not be real OO because it is
put in the wrong object, but at least it is OO-ish.
<snip>
I guess I can only speak for my own experience. I learned Pascal at
university, in a very procedural / functional style. So it was fairly
easy to get used to using Delphi in a procedural event driven way, but
I had no idea about OOP at all.
Perhaps I am not the average beginner. I first learned programming on an
Apple II using Basic with line numbers and GOTO's a-plenty. If I had
been coming to programming fresh, then perhaps OOP would have been easy,
but having previous conceptions of 'how programming was done' I found
the whole OOP thing just confusing to start with. As it was, I could
re-learn the basics in a event driven procedural/functional style (and
was completely amazed as to how easy Delphi made things) , then apply
OOP to that afterwards, one I had a clue about it.
I can see the point about warning , but 'No vars / procedures /
functions that are not a member of an object' would be a step too far.
H.McG
 

Re: Win32 Needs

Quote
>less buggy Printers unit.

Which bugs bug you?
The one bugging me the most right now is this:
When certain printers are set as default, and you change
to some other printers in code using Printer.PrinterIndex :=
(IndexOfOtherPrinter), using that printer throws an EDivByZero
exception. Tracing into vcl source shows it happens at the
Windows.StartDoc Win32 API function call.
If you want to see it yourself, just download the following
printer drivers and install as FILE: printers (easy for testing.
The error shows up no matter what port the printer is on.).
Xerox Workcentre 4118 or HP Color Laserjet 8500 PS
and
Lexmark E210 or Samsung ML-1710
Set either the Xerox or HP to default printer.
Start a new project:
// drop a combobox and a button on a form
// set combobox to dsDropDownList
// in formcreate:
ComboBox1.Clear;
ComboBox1.Items.Assign(Printer.Printers);
// in ComboBox1Click:
Printer.PrinterIndex :=
Printer.Printers.IndexOf(ComboBox1.Items[ComboBox1.ItemIndex]);
// in Button1Click:
ShowMessage('Printing to: ' + Printer.Printers[Printer.PrinterIndex]);
Printer.BeginDoc;
Printer.Canvas.Font.Name := 'Courier New';
Printer.Canvas.Font.Size := 14;
Printer.Canvas.TextOut(100, 100, 'This is a test');
Printer.EndDoc;
Run it and set the printer in the combobox to either the
Lexmark or Samsung, click print and, after you enter a
dummy file name, watch the fireworks.
If you add another button and put the following in its OnClick to
use a printdialog to set the printer, no error:
with TPrintDialog.Create(nil) do
begin
if Execute then
Button1Click(Sender);
end;
My best guess is that the Printers unit does not correctly
setup the device context when a printer is changed using
PrinterIndex, in some cases.
This is with Delphi 7 by the way. My understanding has been that
the printers unit has not been touched since before then. If I
am mistaken and this was fixed, I will gladly buy BDS or Turbo Pro.
 

Re: Win32 Needs

Rob,
Quote
>What about a data-aware TVirtualTreeView descendant instead?

Yes please. I am struggling with exactly this at the moment.
www.table-report.com/products.php
although, trying it out a couple of days ago dttreeviewd10d was broken (a file was missing - that I just couldn't figure out how to add, and it compiled as dttreeviewd7d.bpl) to fix it ... open the project for Delphi 7 and save it overwriting the one for D10, then just change the first line from "package dttreeviewd7d;" to "package dttreeviewd10d;"
It also has VTV and ThemeManager included - if you don't already have them.
--
Dave
Delphi Hobbyists and Occupational Developers
Member Since 1998
 

Re: Win32 Needs

Nick Hodges (Borland/DTG) writes:
Quote
Craig Stuntz [TeamB] writes:


>Well, you just aren't going to get good Unicode support on 9x, no
>matter how badly you want it.


Right, but the question becomes: How to provide it, and /not/ cut off
Win 9x for our customer's customers.

Rely on MLSU and I think that would be enough.
--
Olivier Sannier
JVCL Coordinator
jvcl.sf.net/
Find more about me on LinkedIn:
https://www.linkedin.com/in/obones
 

Re: Win32 Needs

Dave Keighan writes:
Quote
Very cool, I would like to try a BDS-2006 version of that.
I never released it because there is a package I created that would be
more appropriate to be part of the DB runtime package, and I have always
been hoping to get that into a release version.
There are 3 different packages involved here (5 if I include the ones
for Kylix), and only 2 of them are design-time packages.
It's just a little annoying to set up, but the new project manager in
D2005 and D2006 certainly would make them easier to install. Then I
just need to write a brief article explaining the architecture and how
to install and use them with a sample app ....
Yeah, it is trivial. :|
--
John Kaster blogs.borland.com/johnk
Features and bugs: qc.borland.com
Get source: cc.borland.com
If it is not here, it is not happening: ec.borland.com