LPCSTR is not a pointer to a string. It is a string. It is an array of null-terminated characters.
Dosen't LPCSTR mean Long pointer to const c-string? or do you mean delphi string?
Anyway, personally, i love both c++ and delphi equally, in fact, i love delphi way more than c# since it's more close "to the metal". All the stuffs you can do
in c++, you can do in delphi.
Most of the time when i need a complicated win32 application, i use both language. Delphi for the interface, and a c++ dll for the more complicated stuffs.
That way i have the best of both world. I even know a trick to use c++ class exported from dlls using pure virtual classes, and that is just awsome, albeit
it require a little more coding time since you need to provide an additionnal .pas file for the dlls declaration. Delphi is also freaking great for writting custom win32 components in a snap once you get the hang of it. And, Delphi programs runs natively, no need for the silly .net framework. I last but not the least, it's by far the fastest compiler know to man.
The only thing i hate in delphi is the stupid := operator.
Just my 2 cents.
Edit: I dunno why the guy removed the code of the pure virtual functions... it work flawlessly with like 20 different classes in my personal library. It also work for c++ builder...
And for the OP, pointers can look scary at first but it's a very important principle to understand in programming, and once you understand them,
you will say "Oh, it was not that complicated after all". I've explained them a little while ago here.
(Somehow the example i gave got wrapped on a single line... )