Widen the delphi developer demographic in wake of the release of Delphi X2.

I appreciate this question has been asked a million times, but there is an opportunity here for a massive resurrection of delphi mindshare with the release of XE2.

What do you think emb's strategy should be?

I understand that its not just a matter of pricing but pricing is a major factor if you just want to develop the skills to use the product in the commerical environment.

Will cross-platform capabilities give delphi the cool factor?  RealBasic is cross-platform but it doesn''t have a cool factor for me, I think because of the language. Does object pascal have the same stigma for new developers?

How can delphi improve the end-to-end experience over its competitors?  For example, making it trivial to create well structured applications, principally separating UI from business logic.

Language tidy-ups? -  try finally end,  with statements

Latest software engineering fundamentals? e.g. dependency injection

Or is it simply the case that people gravitate to where the money and opportunities are?

So I suspect a twin strategy is required, one targeting the newbies and another targeting business. 

It's a really pity that there isn't a workable commercial way of having a full delphi suite for non-commercial use.

Thoughts?
0
ANDREW
8/5/2011 8:10:02 PM
embarcadero.delphi.non-tech 5933 articles. 1 followers. Follow

47 Replies
1146 Views

Similar Articles

[PageSpeed] 10

ANDREW ASARE wrote:

> Language tidy-ups? -  try finally end,  with statements

While I'm 100% behind tidying up (read: utterly eradicating) the 'with'
statement, what is wrong with

try...finally...end;

?

-- 
Nick Hodges -- Product Development Manager
Gateway Ticketing Systems
http://www.gatewayticketing.com
0
Nick
8/5/2011 8:36:06 PM
> {quote:title=Nick Hodges wrote:}{quote}
> ANDREW ASARE wrote:
> 
> > Language tidy-ups? -  try finally end,  with statements
> 
> While I'm 100% behind tidying up (read: utterly eradicating) the 'with'
> statement, what is wrong with
> 
> try...finally...end;
> 
> ?
Hi Nick,

I've never liked writing and indenting the following construct.

try
    try
    except
    end;
finally
end;

I would like

try
except
finally
end;

Small issue I know, but I utter a swear word each time I write the delphi construct.

Also if we can add some python interpretations for the with and else constructs in compound statements, that would be cool too!
0
ANDREW
8/5/2011 9:13:09 PM
> {quote:title=ANDREW ASARE wrote:}{quote}
> > {quote:title=Nick Hodges wrote:}{quote}
> > ANDREW ASARE wrote:
> > 
> > > Language tidy-ups? -  try finally end,  with statements
> > 
> > While I'm 100% behind tidying up (read: utterly eradicating) the 'with'
> > statement, what is wrong with
> > 
> > try...finally...end;
> > 
> > ?
> Hi Nick,
> 
> I've never liked writing and indenting the following construct.
> 
> try
>     try
>     except
>     end;
> finally
> end;
> 
> I would like
> 
> try
> except
> finally
> end;
> 
> Small issue I know, but I utter a swear word each time I write the delphi construct.
> 
> Also if we can add some python interpretations for the with and else constructs in compound statements, that would be cool too!

I know what you mean about try..except..finally...

I just write it this way:

try try
  <code>
except
  <exception handling code>
end
finally
  <finally code>
end;

It sometimes freaks out other programmers that come behind me (WHAT is a try try??)... But it is much easier for me to read (I can vertically match the first try with it's except and matching finally), and it does not waste useful indentation spacing where it is not needed.
0
Steve
8/5/2011 9:39:14 PM
ANDREW ASARE wrote:

> try
> except
> finally
> end;

That standard argument against this is that if you feel the need to do
this, you are doing it wrong.  But I know that is something that people
would like.

However, I wouldn't call it a problem with the language.

-- 
Nick Hodges -- Product Development Manager
Gateway Ticketing Systems
http://www.gatewayticketing.com
0
Nick
8/5/2011 9:43:52 PM
> {quote:title=Nick Hodges wrote:}{quote}
> ANDREW ASARE wrote:
> 
> > try
> > except
> > finally
> > end;
> 
> That standard argument against this is that if you feel the need to do
> this, you are doing it wrong.  But I know that is something that people
> would like.
> 
> However, I wouldn't call it a problem with the language.
> 
> -- 
> Nick Hodges -- Product Development Manager
> Gateway Ticketing Systems
> http://www.gatewayticketing.com

Hey Nick!

You say:

>.. if  if you feel the need to do this, you are doing it wrong.

Just curious... Could you elaborate please? What is "it" and what is "wrong" about "it"? 

Thanks!
0
Steve
8/5/2011 9:54:46 PM
On 6/08/2011 7:54 AM, Steve Elliott wrote:

> Just curious... Could you elaborate please? What is "it" and what is "wrong" about "it"?

My understanding is that try ... except is for when you want different 
processing depending on exception, and try ... finally is for when you 
want the same.

e.g.

try
   <code>
finally
   Always execute me;
end;

vs

try
   <code>
   Execute me on success;
except
   Execute me on failure;
end;

I've generally not needed both at the same time, I generally either want 
same always, or different depending on the situation.
0
Christopher
8/5/2011 10:24:16 PM
Hi Steve, actually I will take that approach too if you don't mind! :) If I could toss you a Firemonkey t-shirt I would!
0
ANDREW
8/5/2011 10:46:51 PM
Christopher,

>> Just curious... Could you elaborate please? What is "it" and what is 
>> "wrong" about "it"?
> 
> My understanding is that try ... except is for when you want different
> processing depending on exception, and try ... finally is for when you
> want the same.

certainly, but...

> 
> e.g.
> 
> try
>    <code>
> finally
>    Always execute me;
> end;
> 
> vs
> 
> try
>    <code>
>    Execute me on success;
> except
>    Execute me on failure;
> end;
> 
> I've generally not needed both at the same time, I generally either want
> same always, or different depending on the situation.

…i disagree with this part. Sure you need "except" an infinitely 
smaller amout of the time than you need "finally", but you need 
"finally" * lot* (especially in Delphi, less so in, say, Prism or C#) 
and in most of the (few) cases when you *do* need an "except", you 
still do also need a finally.

for example, you'll need a finally to clean uo your resources, even if 
you have an "except" block, don't you?
0
marc
8/5/2011 10:58:24 PM
I've used the construct in the following way:-

x := TClass.Create()
try
    try
      // logic here
    except
     // error handling
    end;
finally
  FreeAndNil(x)
end;

what would be nicer though is an equivalent to the using statement, reducing the preceding to

using x := TClass.Create
   try
   except
  end;
end;

But is that really reducing though? mmm Perhaps I am wrong - coding mostly .net nowadays, so just used to the try catch finally structure

Actually language wise, I think we should be striving for PRISM concepts - lovely piece of language improvements that offers. All the modern coding features.
0
ANDREW
8/5/2011 10:59:26 PM
ANDREW ASARE wrote:

> x := TClass.Create()
> try
>   try
>     // logic here
>   except
>     // error handling
>   end;
> finally
>   FreeAndNil(x)
> end;

FreeAndNil?!?  Rudy!!!  ;-)

This may look like a weird response to your post, so I probably should
explain a little more about where this is coming from:

https://forums.embarcadero.com/thread.jspa?messageID=211733&tstart=0#211733
https://forums.embarcadero.com/thread.jspa?messageID=218408&tstart=0#218408
https://forums.embarcadero.com/thread.jspa?messageID=209797&tstart=0#209797
https://forums.embarcadero.com/thread.jspa?messageID=290785&tstart=0#290785

HTH ... anyway ... your usage of FreeAndNil in your above example
triggered me to post this post.

-- 
Pieter

"It is practically imposible to teach good programming to 
 students that have had a prior exposure to BASIC: as potential 
 programmers they are mentally mutilated beyond hope of 
 regeneration." -- Edsger Dijkstra
0
Pieter
8/5/2011 11:55:04 PM
"ANDREW ASARE" wrote on Fri, 5 Aug 2011 13:10:02 -0700:

> I understand that its not just a matter of pricing but pricing is a
> major factor if you just want to develop the skills to use the
> product in the commerical environment. 

A cross-platform RAD tool capable of producing high quality
applications is worth a lot of money.

> Will cross-platform capabilities give delphi the cool factor? 

Who cares about "cool factor?"  Not me.

> RealBasic is cross-platform but it doesn''t have a cool factor for
> me, I think because of the language. Does object pascal have the
> same stigma for new developers? 

RealBasic, when I tried it, was a mere toy.  Cross-platform it was,
but it was not possible to create a quality, substantial,
consumer-marketable application using it.

If Delphi XE2 can pull it off, it will be huge.

> It's a really pity that there isn't a workable commercial way of
> having a full delphi suite for non-commercial use. 

I think it's a pity people think in those terms.  The work done by the
people developing Delphi isn't worth any less when it's used "non
commercially."  I realize I am in the minority here, but the "give it
to me free because I am not selling anything" mentality is lamentable.

-- 
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
0
Brandon
8/6/2011 12:37:00 AM
Steve Elliott wrote:

> Just curious... Could you elaborate please? What is "it" and what is
> "wrong" about "it"?

Oh goodness, I was afraid that you would ask that.  ;-)

I confess I can't remember the exact argument, but Chuck J was rather
adamant about it in a number of online discussions I remember.  Maybe
I'll get Allen to blog about it, though I'm not sure Allen remember's
how to blog.  ;-)


-- 
Nick Hodges -- Product Development Manager
Gateway Ticketing Systems
http://www.gatewayticketing.com
0
Nick
8/6/2011 1:12:43 AM
"Brandon Staggs"  wrote in message news:384947@forums.embarcadero.com... 

>I think it's a pity people think in those terms.  The work done by the
>people developing Delphi isn't worth any less when it's used "non
>commercially."  I realize I am in the minority here, but the "give it
>to me free because I am not selling anything" mentality is lamentable.

+1

Dan
0
Daniel
8/6/2011 1:12:44 AM
Steve Elliott wrote:

> Just curious... Could you elaborate please? What is "it" and what is
> "wrong" about "it"?

Hah!  Found it!

This is the thread from the late '90s:

http://bit.ly/p3s7bn

About a third of the way down, Chuck weighs in...

-- 
Nick Hodges -- Product Development Manager
Gateway Ticketing Systems
http://www.gatewayticketing.com
0
Nick
8/6/2011 1:23:56 AM
> {quote:title=ANDREW ASARE wrote:}{quote}
> It's a really pity that there isn't a workable commercial way of having a full delphi suite for non-commercial use.

Agree.  But if Delphi XE Starter Edition is any indication, that ship has already sailed, hit an iceberg off the coast of Nova Scotia and is now providing habitat for a variety of deep sea life.  The needs and priorities of the the lone non-commercial user are simply too different from those of an experienced commercial development team that can look inward for help and support (technical and financial).

Delphi will be better served by focusing on one market segment and serving it very well, even though that probably means that it will eventually become irrelevant.   The segment EMB has chosen is clearly made up of commercial developers -- and given their resource limitations, that's probably the right choice.    

It suggests an opportunity, though, for someone to serve the non-commercial segment as well as Borland and Codegear once did -- if they can discover a viable business model for that.   Perhaps working -with- EMB, but not -being- EMB?

All IMHO of course.
0
Curt
8/6/2011 4:03:54 AM
Brandon Staggs wrote:

>  I realize I am in the minority here, but the "give it
> to me free because I am not selling anything" mentality is lamentable.

Huh?  You must be from the same planet as the car salesman I talked to
yesterday.  I told him that I'm not going to use the car as a taxi,
limousine, or any other commercial purpose, and the joker still wanted
me to pay for it!  The nerve of that guy...

-- 
Cheers,
Van

"Half of what I say is meaningless..." - John Lennon
"Your job is to figure out which half." - Van Swofford
0
Van
8/6/2011 4:18:12 AM
Nick Hodges wrote:

> ANDREW ASARE wrote:
> 
> > Language tidy-ups? -  try finally end,  with statements
> 
> While I'm 100% behind tidying up (read: utterly eradicating) the
> 'with' statement, what is wrong with
> 
> try...finally...end;
> 
> ?

Nothing, but really nothing at all. It is an extremely useful and
extremely necessary construct.

-- 
Rudy Velthuis

"The secret of a good sermon is to have a good beginning and a 
 good ending, then having the two as close together as possible."
 -- George Burns.
0
Rudy
8/6/2011 8:14:25 AM
"Steve Elliott" wrote in message news:384895@forums.embarcadero.com...
>
> Just curious... Could you elaborate please? What is "it" and what is 
> "wrong" about "it"?


As a *general* rule, one should use try/finally abundantly but only rarely 
need to use try/except. So the times when both are needed, nested one way or 
the other, should in fact be rare. Moreover, when it really is needed, then 
it is also common to need more than one except block but still only one 
finally block - and in this case, a combined block makes no sense, and the 
extra indenting of code *does* make sense.

The short version: try/except and try/finally *really serve two completely 
separate purposes* and that is why thay were not combined.

Rarely do you need anything like:

try
    try
        // Some Dangerous Code;
    except
        // handle *specific* exceptions only, let the rest continue
    end;
finally
    // cleanup
end;

If there is nesting, I tend to find it is because I'm handling some entity I 
have no control over and so need to handle issues with it:

thing := AcquireSomeEntity;
try
    // some code here
    try
        // something that has to be handled
    except
        // set some usable substitutions
    end;
    // more code here
    try
        // something else that has to be handled
    except
        // set some usable substitutions
    end;
    // some more code
finally
    thing.Free;
end;


-- 
Wayne Niddery (TeamB)
HEALTH TIP: If you can't afford a doctor, go to an airport - you'll get a 
free x-ray and a breast exam and; if you mention Al Qaeda you'll get a free 
colonoscopy.
0
Wayne
8/6/2011 10:21:17 PM
Nick Hodges wrote:

> ANDREW ASARE wrote:
> 
> > try
> > except
> > finally
> > end;
> 
> That standard argument against this is that if you feel the need to do
> this, you are doing it wrong.

Indeed. try-finally-end is used for resource protection, try-except-end
is used for exceprtion handling. Two different, almost orthogonal goals.

-- 
Rudy Velthuis

"UNIX is simple. It just takes a genius to understand its
 simplicity." -- Dennis Ritchie
0
Rudy
8/6/2011 10:22:55 PM
Curt Carpenter wrote:

> > {quote:title=ANDREW ASARE wrote:}{quote}
> > It's a really pity that there isn't a workable commercial way of
> > having a full delphi suite for non-commercial use.
> 
> Agree.  But if Delphi XE Starter Edition is any indication, that ship
> has already sailed, hit an iceberg off the coast of Nova Scotia and
> is now providing habitat for a variety of deep sea life.

Your not so humble opinion is based on what facts? I have seen quite a
few questions, especially on Usenet, about exactly Starter.
-- 
Rudy Velthuis

"Real knowledge is to know the extent of one's ignorance."
 -- Confucius
0
Rudy
8/6/2011 10:27:05 PM
> {quote:title=Rudy Velthuis (TeamB) wrote:}{quote}
> Your not so humble opinion is based on what facts? I have seen quite a
> few questions, especially on Usenet, about exactly Starter.

My opinion is definitely humble -- and based entirely on personal experience with the Starter and earlier editions of Delphi.   I'm glad to have SE, but don't see it as a good vehicle for attracting a new generation of non-commercial developers to the platform.

Based on what I've read and seen, D7 would be a better offering for that segment given that particular marketing objective.  It wouldn't have the latest bells and whistles, but could offer better support to the independent and the learner.   Whether it could be offered in the context of a viable economic model, I don't know.

And let me note that the above, too, is a humble opinion (since you seem to have a hard time recognizing them).

Have a nice day!
0
Curt
8/6/2011 10:53:51 PM
As far as I understand this, FireMonkey will support not only Pascal, but also C++. If this is the case, this can be really great for Embarcadero, Delphi and all us.

I've learned Qt and made a Win/Mac app in it. But I'm really pissed off by the fact that Nokia ignores the desktop part of Qt. They switched completely to mobile, and they support only officially dead Symbian and dead-in-the-water Maemo. Funny people. I really hate their "open-source" attitude: "you need it - do it yourself, don't bother us." This is how they respond to endless complains about dumping the desktop part of Qt...

So I will definitely try Firemonkey. If it indeed supports C++, and if it can do what I need for my app, I'll probably switch to Firemonkey.

I used Delphi professionally for many years, so I have no problem with Pascal, but I don't feel secure with it. I want to be able to support my apps in the future, in 10, 20 years. There will be new OSes, desktop and mobile. I just have a feeling that C++ has better chances (than Pascal) to survive the next 20 years. Not only to survive, but be on the cutting edge or close to it.

So, my opinion: Cross-platform C++ and reasonable price may indeed expand the Embarcadero user base dramatically.
0
Sergiy
8/6/2011 11:15:35 PM
Van Swofford wrote:

> Brandon Staggs wrote:
> 
> >  I realize I am in the minority here, but the "give it
> > to me free because I am not selling anything" mentality is
> > lamentable.
> 
> Huh?  You must be from the same planet as the car salesman I talked to
> yesterday.  I told him that I'm not going to use the car as a taxi,
> limousine, or any other commercial purpose, and the joker still wanted
> me to pay for it!  The nerve of that guy...

LOL!

-- 
Pieter

"Multitasking /adj./ 3 PCs and a chair with wheels !" -- unknown
0
Pieter
8/6/2011 11:41:08 PM
Am 05.08.2011 23:43, schrieb Nick Hodges:
> ANDREW ASARE wrote:
> 
>> try
>> except
>> finally
>> end;
> 
> That standard argument against this is that if you feel the need to do
> this, you are doing it wrong.  But I know that is something that people
> would like.
> 
> However, I wouldn't call it a problem with the language.
> 

How to e.g. create a TStringList and do a LoadFrom file on it for a non
existing file? THat will raise some exception. So in the except clause
you maybe need to diaplay a nice message and clean up the TStringList.
But in the success case you process the loaded data and need cleanup as
well. So how to handle this? Can you show some simple code for this?

Greetings

Markus
0
Markus
8/7/2011 10:05:18 AM
Am 07.08.2011 00:53, schrieb Curt Carpenter:
>> {quote:title=Rudy Velthuis (TeamB) wrote:}{quote}
>> Your not so humble opinion is based on what facts? I have seen quite a
>> few questions, especially on Usenet, about exactly Starter.
> 
> My opinion is definitely humble -- and based entirely on personal experience with the Starter and earlier editions of Delphi.   
> I'm glad to have SE, but don't see it as a good vehicle for attracting
a new generation of non-commercial developers to the platform.
> Based on what I've read and seen, D7 would be a better offering for that segment given that particular marketing objective.  
> It wouldn't have the latest bells and whistles, but could offer better
support to the independent and the learner.
> 

Hm? So attract learners with outdated technology? Has not even proper
Unicode support...

Greetings

Markus
0
Markus
8/7/2011 10:18:26 AM
> My opinion is definitely humble -- and based entirely on personal
> experience with the Starter and earlier editions of Delphi.   I'm glad to
> have SE, but don't see it as a good vehicle for attracting a new
> generation of non-commercial developers to the platform.

Did you see the explanation for why the BDE is included in Starter, i.e.
something that has been deprecated since 1998 or something like that?
Because it was thought likely Starter might be bought by people who used
Delphi in the past, and so would be wanting to open their old BDE-based
projects!

> Based on what I've read and seen, D7 would be a better offering for that
> segment given that particular marketing objective.

I'd say an edition for genuine 'starters' would be based on the newest
codebase, but have things specificially targetted for 'starters'. Most
basically, this might mean a customised welcome page that prominently
displays links to introductions to the IDE, language, VCL etc., perhaps
walkthroughs about how one or two of games amongst the demos were created...

>  It wouldn't have the
> latest bells and whistles, but could offer better support to the
> independent and the learner.

In what way? In terms of the feature set, D7 Personal and DXE Starter are
pretty similar (if not identical - Starter has DB support and COM tooling).
I would think the main difference for a genuine newbie is that DXE looks
functional where D7 just looks ancient (and suffers from compatibiilty
warnings from the OS).
0
Chris
8/7/2011 11:00:34 AM
Hi Brandon,

> A cross-platform RAD tool capable of producing high quality
> applications is worth a lot of money.
> 
> > Will cross-platform capabilities give delphi the cool factor? 
> 
> Who cares about "cool factor?"  Not me.

Indeed a cross platform RAD tool is worth alot of money, if you can encourage both experienced and inexperienced developers to use it. In order to perpetuate the use of delphi in the long-term, you need a consistent supply of fresh minds using it. I would be interested to see the market analysis of newcomers to each of the developer platforms out there and where the delphi product stands in that list.   

I think most people who have looked into the Ruby development environment will have used the word cool on many occassions, and would attribute their initial attraction to the tool for this very reason.  

> > RealBasic is cross-platform but it doesn''t have a cool factor for
> > me, I think because of the language. Does object pascal have the
> > same stigma for new developers? 
> 
> RealBasic, when I tried it, was a mere toy.  Cross-platform it was,
> but it was not possible to create a quality, substantial,
> consumer-marketable application using it.
> 
> If Delphi XE2 can pull it off, it will be huge.
> 
> > It's a really pity that there isn't a workable commercial way of
> > having a full delphi suite for non-commercial use. 
> 
> I think it's a pity people think in those terms.  The work done by the
> people developing Delphi isn't worth any less when it's used "non
> commercially."  I realize I am in the minority here, but the "give it
> to me free because I am not selling anything" mentality is lamentable.

When it comes down to it, nobody knows how successful a non-commerical full featured tool would be in encouraging wider adoption of the tool.
If this release of XE2 does not inspire wider usage of the tool, then no later developments of the product will.
I completely agree that the work done by the development team is not worth anything less when used in a non-commerical context, but we need
growth strategy for this product, since recruiting delphi developers is a premium for a business looking for those skills. Is easier and cheaper
to use the alternatives.
0
ANDREW
8/7/2011 11:23:14 AM
"ANDREW ASARE" wrote on Sun, 7 Aug 2011 04:23:14 -0700:

> If this release of XE2 does not inspire wider usage of the tool,
> then no later developments of the product will.

I agree with that completely.

> I completely agree that the work done by the development team is not
> worth anything less when used in a non-commerical context, but we
> need growth strategy for this product, since recruiting delphi
> developers is a premium for a business looking for those skills. Is
> easier and cheaper to use the alternatives.

Frankly, there are already "free" cross-platform solutions (wxPython,
for example).  I'm just not convinced that Embarcadero needs to
compete in that space, but more importantly, I don't know that they
could do it in a profitable manner.  The "give it to them free now and
they will pay in the future" argument doesn't seem very strong.

-- 
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
0
Brandon
8/7/2011 12:47:15 PM
"Markus Humm" <markus.humm@freenet.de> wrote in message 
news:385096@forums.embarcadero.com...
>
> How to e.g. create a TStringList and do a LoadFrom file on it for a non
> existing file? THat will raise some exception. So in the except clause
> you maybe need to diaplay a nice message and clean up the TStringList.
> But in the success case you process the loaded data and need cleanup as
> well. So how to handle this? Can you show some simple code for this?


You should *never* be using an exception block to clean up the stringlist or 
other resources, that is *exactly* what try/finally is for.

    sl := TStringList.Create;
    try
        sl.LoadFromFile('bogus.txt');
        // do whatever with the stringlist
    finally
        sl.Free;
    end;

This much *guarantees* the stringlist will be freed whether there is an 
exception or not. That is the whole point of try/finally - you *do not* need 
an exception block to clean up anything and that is the wrong place to do 
it. In this case, if there is an exception, control first goes to the 
finally block, and then the exception continues to unwind and will be caught 
by the Application's exception handler and it will display the generic 
exception message dialog.

If you want to customize your display of exception messages, the right place 
to do that is by using the Application's OnException event where you can 
format your own dialog or use other means of display, as well as logging to 
a file if desired, etc.

It is only when you have a good reason for needing to handle an exception 
locally that you should ever bother with an exception block - the most 
common case being when you can *correct* the exception in order to allow the 
local logic to continue on. In your example that is not needed, you can 
easily avoid the exception simply by using FileExists() first before trying 
to load it.

Ironically, I'm more apt to *raise* an exception in such logic rather than 
trap it:

    if not FileExists('bogus.txt') then
        raise Exception.Create('bogus.txt does not exist');

    sl := TStringList.Create;
    try
        sl.LoadFromFile('bogus.txt');
        // do whatever with the stringlist
    finally
        sl.Free;
    end;

That way the user is told and I never even get to the point of creating the 
stringlist unless there is a file to read.

Now within a try/finally block, if there is specific code that can except 
and I can fix it, then that calls for an except block:

    sl := TStringList.Create;
    try
        sl.LoadFromFile('bogus.txt');
        // some code not *expected* to cause exceptions
        try
            Result := SomeOtherProcessThatMightExcept(sl[0]);
        except
            Result := DefaultValue;
        end;
        // code that uses Result also not *expected* to raise an exception
    finally
        sl.Free;
    end;

So I only use the except block in the case where it can let the logic 
continue on. Any other exceptions, however (i.e. *unexpected ones*, I allow 
to escape and get handled elsewhere. Note again that no matter what happens 
in the above example, the stringlist is *always* freed.

-- 
Wayne Niddery (TeamB)
HEALTH TIP: If you can't afford a doctor, go to an airport - you'll get a 
free x-ray and a breast exam and; if you mention Al Qaeda you'll get a free 
colonoscopy.
0
Wayne
8/7/2011 1:16:18 PM
Am 07.08.2011 14:47, schrieb Brandon Staggs:
> "ANDREW ASARE" wrote on Sun, 7 Aug 2011 04:23:14 -0700:
> 
>> If this release of XE2 does not inspire wider usage of the tool,
>> then no later developments of the product will.
> 
> I agree with that completely.
> 
>> I completely agree that the work done by the development team is not
>> worth anything less when used in a non-commerical context, but we
>> need growth strategy for this product, since recruiting delphi
>> developers is a premium for a business looking for those skills. Is
>> easier and cheaper to use the alternatives.
> 
> Frankly, there are already "free" cross-platform solutions (wxPython,
> for example).  I'm just not convinced that Embarcadero needs to
> compete in that space, but more importantly, I don't know that they
> could do it in a profitable manner.  The "give it to them free now and
> they will pay in the future" argument doesn't seem very strong.
> 

I guess there will be a Starter edition for XE2 as well...

Greetings

Markus
0
Markus
8/7/2011 1:20:06 PM
> {quote:title=Markus Humm wrote:}{quote}
> Hm? So attract learners with outdated technology? Has not even proper
> Unicode support...

That is my opinion, yes.  Attract entry-level and individual experimenters with a *complete,  well-documented and well-helped* older edition that is more compatible with the thirty years of accumulated Delphi source code freely available on the internet (which can then be studied without  -- for example -- dealing constantly with unicode issues).   This would be more conducive to learning the object pascal language and Delphi approach than Delphi XESE -- which +for the student+ is very much incomplete, po
orly documented and poorly helped.

Additionally, this approach would let EMB focus the whole  of its limited resources on the market segment it +wants+ to serve (commercial developers) -- while still providing a low-cost but very powerful first experience with the platform for everyone else.  The company wouldn't need to invest in customizing +anything+ (the Welcome page?  Come on...) for a market they have really lost interest in serving -- probably for sound economic reasons.

As an isolated individual not in a commercial development environment, I would trade "outdated technology" for "well-documented technology" in a heartbeat.   And if that outdated technology gave me a set of basic skills that eased the way +toward+ the latest technology as I find a need for it (or go commercial), so much the better.  

If somebody here would like to trade their D7, with such helpful things as (for example) Windows.pas and SysUtils.pas included in the package and a help system that isn't shot through with un-wanted and un-helpful C++ material, for my Delphi XESE, please let me know. 

PS:  Can anyone tell me if a swap like that noted above is possible?  It's not like we can just trade CDs anymore, is it?
0
Curt
8/7/2011 2:49:04 PM
> That is my opinion, yes.  Attract entry-level and individual
> experimenters with a *complete,  well-documented and well-helped* older
> edition 

D7 was 'well-documented'...?

> that is more compatible with the thirty years of accumulated
> Delphi source code 

Delphi isn't that old.

> freely available on the internet (which can then be
> studied without  -- for example -- dealing constantly with unicode
> issues).

Do you have any evidence to back that up? Googling 'Delphi source code' (no
quotes) and browsing the top hits doesn't seem to support that stance.
Remember that the VCL core (including basic graphics) are fundamentally as
they were back in 1995 (well, basic graphics have been the same since
ScanLine was added to TBitmap).
 
> The company wouldn't
> need to invest in customizing +anything+

Of course they would - D7 is an old product that modern versions of Windows
don't like too much. At the very least it would necessitate a note about
UAC, and the fact WinHelp needs to be installed separately.

> (the Welcome page?  Come on...)

Yes, come on: I was thinking EMBT should really be doing at least the same
as what MS do with the Express editions, or Nokia does/did with QT,
*assuming* a generalised 'starter' edition is to be had. I have something
else in mind too, but that's by the by.

> If somebody here would like to trade their D7, with such helpful things
> as (for example) Windows.pas and SysUtils.pas included in the package 

Only the header translations were included in D7 Personal, so you would
have to upgrade edition-wise as you downgrade version-wise. If it's
literally just D7's SysUtils.pass you want though, then you can (legally)
get it from the FreeCLX project:
http://freeclx.cvs.sourceforge.net/viewvc/freeclx/K3CLXoe/rtl/sys/

> a help system that isn't shot through with un-wanted and un-helpful C++
> material

You'll have to roll back to before even D7 if you want that, though
admittedly, the integration is not quite so annoying in D7.
0
Chris
8/7/2011 3:35:06 PM
> {quote:title=Chris Rolliston wrote:}{quote}
> D7 was 'well-documented'...?
Compared to XESE, yes.  

> Delphi isn't that old.
TP and console aps are.

> Do you have any evidence to back that up?
Many years of personal experience starting with TP1.   Sworn testimony is usually accepted as evidence, but not in your courtroom, perhaps.

> Of course they would - D7 is an old product that modern versions of Windows
> don't like too much. 
No idea what that means.  Are you saying D7 won't run on Win7?

> Only the header translations were included in D7 Personal, so you would
That's documentation in my book -- and often very useful and worth studying.  Especially if not cluttered with acres of conditional compiles .

>though admittedly, the integration is not quite so annoying in D7.
That's the point.   Help should be helpful, not annoying -- although, as the product of human effort, some level of annoyance is inevitable.  

Again:  I'm just expressing an opinion, not looking for approval.
0
Curt
8/7/2011 3:54:00 PM
Curt Carpenter wrote:

> > {quote:title=Rudy Velthuis (TeamB) wrote:}{quote}
> > Your not so humble opinion is based on what facts? I have seen
> > quite a few questions, especially on Usenet, about exactly Starter.
> 
> My opinion is definitely humble -- and based entirely on personal
> experience with the Starter and earlier editions of Delphi.   I'm
> glad to have SE, but don't see it as a good vehicle for attracting a
> new generation of non-commercial developers to the platform.

And yet, it seems to have done that anyway.

-- 
Rudy Velthuis

"If there is no God, who pops up the next Kleenex?"
 -- Art Hoppe.
0
Rudy
8/7/2011 4:09:06 PM
Sergiy Kolokolkin wrote:

> As far as I understand this, FireMonkey will support not only Pascal,
> but also C++. If this is the case, this can be really great for
> Embarcadero, Delphi and all us.
> 
> I've learned Qt and made a Win/Mac app in it. But I'm really pissed
> off by the fact that Nokia ignores the desktop part of Qt.

Well, it is Nokia, after all. Their main product these days are mobile
phones.

-- 
Rudy Velthuis

"If a man does his best, what else is there?"
-- General George S. Patton (1885-1945)
0
Rudy
8/7/2011 4:09:59 PM
> {quote:title=Rudy Velthuis (TeamB) wrote:}{quote}
> Curt Carpenter wrote:
> > My opinion is definitely humble -- and based entirely on personal
> > experience with the Starter and earlier editions of Delphi.   I'm
> > glad to have SE, but don't see it as a good vehicle for attracting a
> > new generation of non-commercial developers to the platform.
> 
> And yet, it seems to have done that anyway.

Too early to tell, really.  It would be good if you're right though.
0
Curt
8/7/2011 4:15:52 PM
Markus Humm wrote:

>  So how to handle this?

What Wayne said.

-- 
Nick Hodges -- Product Development Manager
Gateway Ticketing Systems
http://www.gatewayticketing.com
0
Nick
8/7/2011 5:56:05 PM
Markus Humm wrote:

> Hm? So attract learners with outdated technology? Has not even proper
> Unicode support...

My concern, too.

I think it would be better to offer a limited-but-up-to-date product 
for beginners (like C# Express), rather than a complete-but-out-of-date 
product like D7.

Out-of-date creates a poor impression.  Limited leaves you impressed 
but wanting more.  That's what I felt when playing with C# Express.

-- 
SteveT
0
Steve
8/7/2011 6:07:18 PM
On 2011-08-07 09:16:18 -0400, Wayne Niddery <wniddery@chaffrogers.com> said:

> You should *never* be using an exception block to clean up the stringlist or
> other resources, that is *exactly* what try/finally is for.

Perhaps that particular example of TStringList wasn't well chosen, but 
I understand the point Markus is trying to illustrate.  I also run into 
situations in which a resource is attained and "finally" clean-up code 
is required, but there is also the requirement to use "try/except" 
within that "try/finally" block.

In my own case, I have a middle-tier web service that must always 
return meaningful, xml-formatted information to the calling client, 
regardless of what happens during a call.  This service must 
communicate with a database.  A database connection from a pool of 
connections is the resource acquired, and a series of calls and record 
processing is done before that connection can be returned to the pool.

Durning processing it is necessary to handle potential exceptions in 
order to return meaningful xml-formatted messages to the caller of that 
web service.  I cannot just have Delphi's generic exception box pop up 
or even use something like MadExcept to get that information back to 
the client.  So, I end up with code similar to what others are speaking 
of:

dbConnection := nil;
try
   try
      {attain dbConnection}
      {do stuff}
      {create xml response}
   except
     {create xml error}
   end;
finally
   {if assigned, close dbConnection}
   {return xml}
end;

If there is a better way to to do this, I would like to know because I 
cannot find any examples.

Some have implied that it is bad practice to use such nesting of 
exception handler types.  However, the latest DXE help, under "Scope of 
Exception Handlers", does mention that such nesting is possible, 
without any inidcation of it being a technique to be avoided.  From the 
Help:

"Note: This type of nesting is not limited to exception-handling 
blocks.  You can also use it with finally blocks (described in Writing 
Finally Blocks) or a mix of exception-handling and finally blocks."


> Now within a try/finally block, if there is specific code that can except
> and I can fix it, then that calls for an except block:
> 
>     sl := TStringList.Create;
>     try
>         sl.LoadFromFile('bogus.txt');
>         // some code not *expected* to cause exceptions
>         try
>             Result := SomeOtherProcessThatMightExcept(sl[0]);
>         except
>             Result := DefaultValue;
>         end;
>         // code that uses Result also not *expected* to raise an exception
>     finally
>         sl.Free;
>     end;


Ok, so this seems similar to my own situation.

--
Kevin Powick
0
Kevin
8/7/2011 6:31:58 PM
"Kevin Powick" <nospam@spamless.com> wrote in message 
news:385245@forums.embarcadero.com...
>
> In my own case, I have a middle-tier web service that must always
> return meaningful, xml-formatted information to the calling client,
> regardless of what happens during a call.  This service must
> communicate with a database.  A database connection from a pool of
> connections is the resource acquired, and a series of calls and record
> processing is done before that connection can be returned to the pool.

As a service it is critical that exceptions are not allowed to rise outside 
the service request but be handled there.  However, my point that *cleanup* 
does not belong in an exception block stands. Your example below is correct, 
cleanup is in the finally block.

> dbConnection := nil;
> try
>   try
>      {attain dbConnection}
>      {do stuff}
>      {create xml response}
>   except
>     {create xml error}
>   end;
> finally
>   {if assigned, close dbConnection}
>   {return xml}
> end;

> If there is a better way to to do this, I would like to know because I
> cannot find any examples.

Nothing wrong with the above. However part of my point is that there is no 
inherent 1 to 1 relation between the try/except and try/finally blocks (the 
base of request to combine except and finally into a single try construct) - 
you may want to have *any number* of exception blocks within this single 
try/finally block.

> Some have implied that it is bad practice to use such nesting of
> exception handler types.

I haven't seen anyone suggest this at all - can you cite a message on this? 
It isn't about using both or nesting, it is the idea that the two types 
should be combined into a single construct that is at issue. Again my point 
above - there is no inherent 1 to 1 relation between any try/finally and 
try/except; they do completely different things and there can be any number 
of *either* nested in different ways.

-- 
Wayne Niddery (TeamB)
HEALTH TIP: If you can't afford a doctor, go to an airport - you'll get a 
free x-ray and a breast exam and; if you mention Al Qaeda you'll get a free 
colonoscopy.
0
Wayne
8/7/2011 9:01:30 PM
> {quote:title=Rudy Velthuis (TeamB) wrote:}
> 
> Well, it is Nokia, after all. Their main product these days are mobile
> phones.
> 
> -- 
> Rudy Velthuis
> 
> "If a man does his best, what else is there?"
> -- General George S. Patton (1885-1945)


Nokia bought TrollTech for their product Qt, a few years ago. It's the best native cross-platform dev framework/tool at the moment. When I was considering Qt for my cross-platform projects, I had a nasty feeling in my stomach when I thought "It's Nokia after all, they don't care about desktops". But Qt team (ex-Trolltech at Nokia) claimed that the desktop is as important for them as anything else. Well, it looks like now most of them will either leave the company or will be laid off. And now it's official
 that the desktop part of Qt is "do it yourself if you need this".
0
Sergiy
8/7/2011 9:18:49 PM
On 2011-08-07 17:01:30 -0400, Wayne Niddery <wniddery@chaffrogers.com> said:

> I haven't seen anyone suggest this at all - can you cite a message on this?

I believe Nick's second post in this thread alluded to the idea 
("you're doing it wrong").  He didn't personally take a stance one way 
or the other, but one might infer his agreement as implicit simply by 
the fact that he posted the viewpoint.  Rudy followed-up Nick's post, 
essentially agreeing, IMO.

If my inference is incorrect, I'm sure they will speak up.  However, my 
post was not to agree with nor challenge their position, real or 
imagined.  I just wanted to know if I was missing out on a better 
approach to the situation that I illustrated.

> It isn't about using both or nesting, it is the idea that the two types
> should be combined into a single construct that is at issue. Again my point
> above - there is no inherent 1 to 1 relation between any try/finally and
> try/except; they do completely different things and there can be any number
> of *either* nested in different ways.

Agreed.

There are a few people that, if I see them participating in a thread 
which interests me, I always read what they have to say.  Some, purely 
for entertainment purposes, but others, like you, for the clarity of 
thought and expression that they bring to a discussion.

Thanks for the input.

--
Kevin Powick
0
Kevin
8/7/2011 9:33:48 PM
Am 07.08.2011 20:31, schrieb Kevin Powick:
> On 2011-08-07 09:16:18 -0400, Wayne Niddery <wniddery@chaffrogers.com> said:
> 
>> You should *never* be using an exception block to clean up the stringlist or
>> other resources, that is *exactly* what try/finally is for.
> 
> Perhaps that particular example of TStringList wasn't well chosen, but 
> I understand the point Markus is trying to illustrate.  I also run into 
> situations in which a resource is attained and "finally" clean-up code 
> is required, but there is also the requirement to use "try/except" 
> within that "try/finally" block.
> 

+1

Greetings

Markus
0
Markus
8/8/2011 7:45:05 AM
Thanks! I will have to give that a full perusal later today!

> {quote:title=Nick Hodges wrote:}{quote}
> Steve Elliott wrote:
> 
> > Just curious... Could you elaborate please? What is "it" and what is
> > "wrong" about "it"?
> 
> Hah!  Found it!
> 
> This is the thread from the late '90s:
> 
> http://bit.ly/p3s7bn
> 
> About a third of the way down, Chuck weighs in...
> 
> -- 
> Nick Hodges -- Product Development Manager
> Gateway Ticketing Systems
> http://www.gatewayticketing.com
0
Steve
8/8/2011 3:14:47 PM
> {quote:title=Wayne Niddery wrote:}{quote}
> "Steve Elliott" wrote in message news:384895@forums.embarcadero.com...
> >
> > Just curious... Could you elaborate please? What is "it" and what is 
> > "wrong" about "it"?
> 
> 
> As a *general* rule, one should use try/finally abundantly but only rarely 
> need to use try/except. So the times when both are needed, nested one way or 
> the other, should in fact be rare. Moreover, when it really is needed, then 
> it is also common to need more than one except block but still only one 
> finally block - and in this case, a combined block makes no sense, and the 
> extra indenting of code *does* make sense.
> 
> The short version: try/except and try/finally *really serve two completely 
> separate purposes* and that is why thay were not combined.
> 
> Rarely do you need anything like:
> 
> try
>     try
>         // Some Dangerous Code;
>     except
>         // handle *specific* exceptions only, let the rest continue
>     end;
> finally
>     // cleanup
> end;
> 
> If there is nesting, I tend to find it is because I'm handling some entity I 
> have no control over and so need to handle issues with it:
> 
> thing := AcquireSomeEntity;
> try
>     // some code here
>     try
>         // something that has to be handled
>     except
>         // set some usable substitutions
>     end;
>     // more code here
>     try
>         // something else that has to be handled
>     except
>         // set some usable substitutions
>     end;
>     // some more code
> finally
>     thing.Free;
> end;
> 
> 
> -- 
> Wayne Niddery (TeamB)
> HEALTH TIP: If you can't afford a doctor, go to an airport - you'll get a 
> free x-ray and a breast exam and; if you mention Al Qaeda you'll get a free 
> colonoscopy.

Thanks Wayne,

I often tend to use the construct like this. x and y may often be more complex objects - perhaps more likely to fail on creation. On calling the function, if the function returns an empty string then it succeeded, otherwise I have the error message ready for display or logging.

Function ProcessLists : String;
Var
  x : TStringList;
  y : TStringList;
Begin
  x := nil;
  y := nil;
  Result := '';

  Try Try
    x := TStringList.Create;
    y := TStringList.Create;

    {processing on the lists}

  Except
    on e:Exception Do
      Result := 'Error processing lists: ' + e.Message;
  End

  Finally
    x.Free;
    y.Free;
  End;

End;
0
Steve
8/8/2011 3:24:49 PM
> > D7 was 'well-documented'...?
> Compared to XESE, yes.  

I'm not sure I'd even say 'compared to XE'. XE's help is more comprehensive
(even on D7-level things, just about), but has worse organisation, though I
recall we've had that debate already, haven't we? There's also things like
this: http://delphihaven.wordpress.com/2010/05/24/and-another/ (I see that
particular example is sort-of fixed for XE, but the doc maintainers didn't
take up my alternative example code).

> > Delphi isn't that old.
> TP and console aps are.

Care to show me all this old, freely available TP code, code that compiles
in D2 (so, no DOS calls, 16 bit-isms, or assumptions about the string type
being a record allowed) but not XE? You can't, can you? Whereas, a simple
Google search shows tons of Delphi code written in the 1990s that works
fine in newer versions, for the reasons I stated.

> > Of course they would - D7 is an old product that modern versions of
> > Windows don't like too much. 
> No idea what that means.  Are you saying D7 won't run on Win7?

On a vanilla installation, you get a compatibility warning, UAC issues,
plus the help not working because you need to manually install WinHelp.

> Again:  I'm just expressing an opinion, not looking for approval.

Could have fooled me!
0
Chris
8/8/2011 5:19:45 PM
> {quote:title=Chris Rolliston wrote:}{quote}
> Could have fooled me!

Apparently so.
0
Curt
8/8/2011 6:12:25 PM
Reply:

Similar Artilces:

Delphi and Delphi for .Net
It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. I would like to know is it true all .Net application is slower than Win32 native applicaiton or it is Delphi for .Net only. Your information is great appreciated, Inung On 2011-06-21 18:20:17 +0100, Inung Huang said: > It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. > I would like to know is it true all .Net application is slower than > Win32 native applicaiton or it is Delphi for .Net only. If you are only running the code in the application once then, yes, yo...

delphi 2010 memory not released when closing delphi project
each time im runing delphi 2010 the memory that was used was not release after closing a project and the memory don't stop to grow and the browsing for file becoming slow any idea ? Thanks Pierre Auger wrote: > each time im runing delphi 2010 the memory that was used was not > release after closing a project and the memory don't stop to grow and > the browsing for file becoming slow > > any idea ? You are using some 3rd-party components that do not properly release memory in their design-time packages would be my guess. A design-time package stays l...

Any where to offer services as Delphi/Delphi for PHP freelance developer?
Hi, I'm a freelance Software Engineer. One of many that in current difficult days, is pushing for self-employment... offering services as Business Analyst and Developer, using Delphi, Delphi for PHP, MySQL, PostgreSQL. Any where in this forum or other you might know where to offer these services to the world? Thank you, Guillermo Guillermo, The Delphi for PHP forum does have For Hire and Wanted For Hire sections if you haven't seen those yet: http://forums.delphi-php.net/ Thanks. -Phil > {quote:title=Guillermo Najar wrote:}{quote} > Hi, > > I&#...

Is dll developed in Delphi 6 works on Delphi 2?
I have a one dll, whose work is to creates a form with some normal vcl controls, print selected tables and email some reports. It was developed in Delphi 6. Can any other application which was developed in Delphi 2 use that dll.? If not, please let me know in which areas i need change. The dll work is only to print and email. With regards, Srikanth Varma Srikanth varma wrote: > I have a one dll, whose work is to creates a form with some normal > vcl controls, print selected tables and email some reports. It was > developed in Delphi 6. Can any other application which was d...

ANN: wxForms for Delphi
We are pleased to announce the release of our wxWidgets Form Designer for Delphi - wxForms for Delphi 1.1. wxForms for Delphi is an integrated form designer plugin for Borland /CodeGear Delphi that helps to create cross platform applications for Windows, Mac OSX and Linux using single source base. The wxForms code from Delphi can be compiled in Mac OSX and Linux without much change using FreePascal. wxForms for Delphi allows you to use all the Delphi's powerful Form Designer/ Editor features (Form Alignment, Object inspector, Component Palette etc ) to quickly create Cross platfor...

SEPA components for Delphi with Source Code (Delphi 5
Hi all, in the european union change next year the Bankingformat to the SEPA Format. All peoples and companies must change the bankingssoftware and the costumer data form acountnummers in the new IBAN and BIC numbers. See: http://www.arma-it.de/shop/artikelueber.php?wgruppeid=211&wgruppe_offen=211 Functions: - generate SEPA XML'S - Calc IBAN - BIC Database (DE,AT and CH) Questions: vertrieb@arma-it.de PS: Bankinssoftware for Develpoers (Germany only) http://www.arma-it.de/shop/artikelueber.php?wgruppeid=212&wgruppe_offen=212 El 26/10/13 21:38, A...

Delphi and virus, or virus and Delphi.
Hi all. There is some discussion about a 'new' virus, that targets Delphi (and developers). The article is in danish: <http://www.version2.dk/artikel/11833-delphi-udviklere-jages-af-ny-type-malware> but refers to this article: <http://news.cnet.com/8301-27080_3-10312628-245.html> From the Danish article POV, it seems like Delphi itself is vunerable, which is not true. As far as i can see, is the attack vector, injection of (source) code in the 'Sysconst' unit. What's going on? -- Best regards Stig Johansen Perhaps checking other thre...

Delphi 5 to Delphi XE4
Thinking about making the conversion. Of course we have numerous components such as: TurboPower AsyncPro, TurboPower Orpheus ICS2 Synactis All-In-The-Box. You guys have any advice as to the effort and time it may possibly take. It is a large application, several hundred thousand lines. And that's what happens when using third party components, a lot of extra work. I have been burned a few times. I now minimize the use to a few well known suppliers, like TMS. I have "banned" a lot of other components. Regards, Ole > > Thinking about making the conver...

Delphi 4 to Delphi 2009
Hello, Thanks to all who answered my previous question. That was a great help. And atlast our client agreed to upgrade our delphi version from 4 to Delphi 2009. *Sigh*. But before that, I need to give the estimation and cost regarding the migration to delphi 2009. Can anyone tell me is there any tool to migrate from delphi 4 to delphi 2009 or just I need to compile our Delphi 4 application in Delphi 2009. I have read from the delphi 2009 feature matrix that Delphi 1 through Delphi 2007 import is possible in delphi 2009. But i am not that sure considering the size of our application. ...

Delphi 5 to Delphi 6 and up
Dear List, Trying to add 7Zip compression support to my delphi application. I am using the ported 7Zip sdk (see their website, they have a link). I am stumped on how to rewrite a single function: function ReverseDecode(var Models: array of SmallInt; ....): ..... where the input is mostly a fixed size array of SmallInt. This code perfectly compiles and functions in Delphi 6 and up, but in Delphi 5 I get the error: There is no overloaded version of 'ReverseDecode' that can be called with these arguments And obviously, the input (fixed) isn't the same as the param de...

Delphi 2007 to Delphi 7
I've written a class in Delphi 2007 that is not supported in Delphi 7. What would be the best way to achive what I've done in Delphi 2007 in Delphi 7? Thanks, Tom type BondConstants = class { Bond Types } type BondType = record const TREASURY = 3; AGENCY = 0; CORP = 1; MUNI = 2; SBA = 5; MBS = 4; CMO = 6; end; { Day Count Methods } type DayCount = record const ACTUAL_360 = 2; ACTUAL_365 = 1; ACTUAL_ACTUAL = 1; d30_360 = 0; ...

Delphi for PHP or Delphi PRISM
Hi, I have the opportunity to develop a web-based library management system. Nothing fancy, just being able to do the usual CRUD stuff for books and provide a search facility. Borrowing is to be done via an email request to the library admin who then sends out the book(s). Since both Delphi for PHP and Delphi PRISM will enable me to develop the app, which one will allow me to deliver it in less time and also increase (even how small) my marketability as a web developer? Thanks. Phillip Flores Phillip Flores wrote: > Hi, > > I have the opportunity to develop a...

Delphi 4 to Delphi 2007
Hello, I will have to port a D4 application (with source) to D2007. what kind of problem could I face ? I will have to go to customer site tommorow to analyse its source code to quote the work, what should I care of to hestimate the porting time ? Thanks John Terry wrote: > Hello, > I will have to port a D4 application (with source) to D2007. > what kind of problem could I face ? > I will have to go to customer site tommorow to analyse its source code > to quote the work, what should I care of to hestimate the porting time ? You can probably do it by just changi...

Delphi 7 to Delphi XE2
Hi, Still using that old workhorse, Delphi7, but am going to the conference in London hosted by Embarcadero on Delphi XE2. Although I would like to "move with the times" and am keen to get the UNICODE and 64-bit support offered by the latest IDEs, I confess to being more than a little scared about all the UNICODE/String/AnsiString and 32/64 bit issues I'm probably going to fall over. Anyone recently upgraded from Delphi7 to one of the latest Delphi IDEs? Thanks, Alain On 03/02/2012 08:55, Alain Dekker wrote: > Still using that old workhorse, Delphi7, but...

Web resources about - Widen the delphi developer demographic in wake of the release of Delphi X2. - embarcadero.delphi.non-tech

Demographics of Spain - Wikipedia, the free encyclopedia
This article is about the demographic features of the population of Spain , including population density , ethnicity , education level, health ...

A demographic dilemma for advanced economies
Traditional budget control mechanisms will do little to address long-term fiscal challenges.

Cuba's falling birthrate and ageing population creates a demographic crisis
Cuba's falling birthrate has become a threat to the country's political and economic wellbeing.

The Carson Demographic
Chris Jansing was just on Hardball, and she is embedded with the Carson campaign on his grifting book tour, and talking about all the different ...

"Perhaps above all else, the data shows that Mr. Trump has broad support in the G.O.P., spanning all ...
... the Gulf Coast, up the spine of the Appalachian Mountains, to upstate New York.... His geographic pattern of support is not just about demographics ...

Demographics Could Kill The GOP Off But Not In Congress, Not While Pelosi Controls The DCCC
... would ensue at the prospect of Steve Israel losing effective control over the committee. He and his rancid crew counter-balance every demographic ...

HSBC report on global demographic shift - Business Insider Deutschland
HSBC explores the massive global demographic shift coming not only in the next 100 years, but the next 10 too.

Supergirl Premiere Ratings Best in Fall 2015 Key Demographics
(Photo: CBS)In a superheroic move, Supergirl had the best debut in key demographic of any premiere [...]

3 Things We’ve Learned About How Demographics, Credit Scores & Marital Status Affect Your Car Insurance ...
... to do with driving, like your credit score, marital status, and ZIP code. New research shows that determining price using these types of demographic ...

Demographics Are Changing in Cataract Surgery
(NewsUSA) – NewsusaInfographic – Despite all the talk about millennials, baby boomers still comprise almost a third of the U.S. workforce, spend ...

Resources last updated: 1/17/2016 4:43:38 PM