text: By: John Kaster
  Abstract: Danny talked about Delphi language and run-time library improvements, .NET and Win32 support
  This is a log of the chat rooms during the live audio chat from November 19, 2004 on Delphi 2005 with Danny Thorpe , a Borland Chief Scientist, and
  architect of the Delphi compilers. Danny discusses changes and enhancements to the Delphi Win32 and Microsoft.NET compilers, the run time framework, and .NET support in general.
  Note: This log is only the chat room transcript. There is much additional information covered in the audio replay that is not available in this chat log. For all previous and upcoming live chats, see.
  dthorpe: who was supposed to bring the propeller?
  aohlsson: Hehe!
  dthorpe: mm refactoring good
  aohlsson: Yes, is it good?
  aohlsson: Careful. Youll break this chat client...
  aohlsson: :)
  dthorpe: mrbtrieve gets first post!
  aohlsson: We know! :)
  aohlsson: Hi! Cobolman!
  aohlsson: Sprite!
  dthorpe: and davidf!
  jkaster: reminder: use /ask to submit questions
  jkaster: thanks for the heads up on the picture behavior. will fix that for next chat (checked, and it's a browser settings issue, not a chat room issue)
  jkaster: futurix : "Danny, for... in works for all types? Arrays? Collections? (in Win32 I mean)" - Win32 follows same rules for GetEnumerator. VCL has been updated to support this, for example. Arrays, multi-dimensional arrays,
  strings, sets, classes that implement the pattern.
  jkaster: cobolman : "can you change an object surfaced in a for ... in loop?" -.
  jkaster: serge_d : "Can you expand TCollection to an IInterface (ICollection) to make it similar to .Net" - yes, it could be done, but my concern is about overhead to TList and collections, which are currently very lightweight.
  Will continue investigating this.
  jkaster: drbob42: "what about token collisions (the same type in multiple units - but same namespace)?" - that is a new risk in Delphi 2005 because you have multiple units with separate name scopes. Generally, that a bad idea to do,
  but itsok. When you compile those two units into a .NET assembly, the units w/ the same type and same name are forbidden by .NET. The compiler doesnt currently catch duplicate names across different units in .NET. Best way to find those is using
  PEVerify currently.
  jkaster: JonR : "Are there compiler hints when the compiler "chooses" not to inline?" - Te compiler will hint when you ask for something to be inlined but it wont by the compiler
  jkaster: leopasta : "Can we set an option so that the compiler will evaluate every function of a project, trying to inline it?" - yes, theres a complier directive called $inline with 3 states: on, off, auto
  jkaster: Tjipke : "How to get rid of these inline hints?" - turn inline off or turn hints off
  jkaster: drbob42: "is there a way to see if it was inlined or not?" - theres no simple indicator. hoping for color difference for dot indicator for debugger in the future
  jkaster: JonR : "But what about Win32 API wrappers in Windows.pas? Wouldnt this be a huge benefit?" - yes, it is and we have!
  jkaster: JonR : "My bad, there are many API wrappers that arent inlined in Windows.pas. I guess someone has already figured out reasons for these not to be inlined." - thanks for the followup
  aohlsson: We turned off all cell phones. Forget about the landline... LOL!
  jkaster: edan, use /ask to submit questions for danny to answer
  jkaster: MrBtrieve: "For all of us non-.NET heads, what is Borlands long-term plan and/or commitment to keeping (and hopfully enhancing) the Win32 version of Delphi post Delphi2005?" - the plan is to continue to develop Win32 for
  the compiler and IDE, primarily a lot of productivity work for the IDE
  jkaster: drbob42: "will the Kylix compiler be upgraded to the same Win32/.NET language features?" Were working on the Kylix compiler plan. There is strong interest in updating Kylix, but nothing I can say for sure about Kylix
  compiler plans. Main focus is bringing platform support up to latest Linux OS levels.
  jkaster: futurix : "Inevitable question ;-) any chance of native Delphi for Win64?" - Which 64bit platform? Were certainly still considering this and analyzing costs involved.
  jkaster: cobolman : "Is there significant overhead to using interfaces in Win32?" - the overhead is exactly the same as what its been all along, including support for addref and thread safety
  jkaster: cobolman : "any chance of getting an expanded case statement to allow things like string items?" - In .NET thats a possibility using its string tokenizer. We would make the strings case sensitive
  jkaster: mnk : "What priority have Generics?" - #1 for .NET 2.0
  jkaster: MrBtrieve: "What is the status of Delphi for .NET apps and compatibility with products such as Mono?"> - We dont actively test on mono, but we actively recruit field testers who are familiar with mono. last I heard, the
  Delphi for .NET compilers produce .NET applications that will execute on mono
  jkaster: Leonel : "Is there a chance that Mono could be a supported platform in the future?" - the multi-personality IDE certainly opens up the door for plug-ins for things like this. CrossKylix is something you might want to
  look at as well.
  jkaster: JoeH : "any signs of MS making it easier for Delphi to have CF ?" - were working on this. targetting 2006
  jkaster: webcab : "Any plans to extend
  Delphi s support for COM (i.e. #import, 2 dim arrays wrappers) ?" - not planning on significant new investment on win32 com
  jkaster: serge_d : "Do you plan to sync component list between .Net/Win32 and VS.Net (HelpProvider, ToolTip, NotifyIcon, ErrorProvider)" - ask allen bauer during his chat
  jkaster: serge_d : "How ready D2005 for .Net 2.0?" - answered
  aohlsson: emisosa : "re unicode, what happens with the .pas file format?" - handled
  jkaster: serge, I dont understand your questions
  aohlsson: leopasta : "Do you have any plan to remove p/Invoke dependency from VCL.Net in order to be compatible with Mono?" - no.
  aohlsson: edan : "What is involved in moving a VCL (that extensively uses Win32 API calls) to a .NET assembly?" - handled
  aohlsson: bfierens : "any progress,news,sight on pocketpc development" - handled earlier
  jkaster: abauer : "hey I hear my name being bantered around!" - thats just a voice in your head, Allen
  aohlsson: serge_d : "Will .Net 2.0 leverage CF support for D2005?" - handled earlier
  jkaster: MaxOdenda : "I like the idea of having multiple personalities, what are your plans about including Kylix/Crosskylix/CLX into Delphi 2005 ?" - answered
  aohlsson: Leonel : "How do you weight codegen improvements against new features when planning future development? I mean, how important is an optimizing compiler for you, in the big picture?" - handled
  aohlsson: Max, use /ask...
  jkaster: MrBtrieve : "Granted its a small sample, but ive heard from one user of Delphi 2005 that the IDE is "slow", specifically when switching between a form and unit, on the scale of 2-3 seconds. is this true? Additionally he
  stated that when using the classic floating window IDE mode, CPU usage skyrockets. Comments?" - this is a great question for Allens chat. Watch EventCentral for announcements of his chat
  jkaster: futurix : "Are there any changes for non-database VCL in Delphi 2005? New components?" - yes, there are. good question for Seppy Blooms chat. Watch EventCentral for it
  jkaster: livechat : "Working with records in .NET is much faster than with objects. Record types have been also greatly expanded in the recent versions of Delphi. Do you generally recommend using records over objects whenever
  possible?" - records in .NET are value types. You have to be careful in that assertion of performance gain because data gets copied all over the place.
  jkaster: Tjipke: "Even adding system.io doesnt remove the inline hint" - ok, well have to look at that!
  aohlsson: Leonel : "Any plans to include Design by Contract in the Delphi language?" - answered
  jkaster: Tjipke : "what is the use of the hint: "[Hint] CB4Tables.pas(949): H2443 Inline function ExtractFileName has not been expanded because unit System.IO is not specified in USES list" ExtractFileName doesnt even come
  from system.io!" -.
  aohlsson: UnitOOPS : "horrified at the idea of even thinking about inlining. Comment?" - handled
  jkaster: Tjipke: "(inline continued..) it does remove the warning when it is added to the implementation uses clause (not interface), but what if you change the implementation of extractfilename using not system.io but something else: all
  units that have added the system.io now need the other namespace... looks very bad to me (but no need really to handle here)" - please follow-up on the newsgroups for this. were actually past time to quit
  aohlsson: domus : "Have any internal benchmarks been executed to compare Delphi.NET applications to their Win32 equivalents?" - handled
  aohlsson: serge_d : "D2005 and .Net 2.0/ASP2.0 support plans" - Great question for the upcoming chat with Jim & Steve regarding ASP.NET. Stay tuned.
  jkaster: MaxOdenda : "I loved the demo from John Kaster about Together technology. Any chance we get this in a
  Delphi release?" - Together for Delphi is one of the wishlist items we have for the near future. ECO actually uses the Together design surfaces. More should come in the future.
  aohlsson: webcab: "In Delphi for .NET, COM; we're not sure what the best way to send and to receive two-dimensional safe arrays to COM methods is?" - Lets schedule a chat with Chris Bensen!
  aohlsson: MrBtrieve : "Why, oh why, did you go and change our good old friend the tabbed-component palette?" - Perfect question for Allen or Corbin. Check EventCentral soon.
  jkaster: emisosa : "maybe i should ask this to MS, but what happened with OpenGL or DirectX in .NET? is there anything on the VCL in D2005?" - DirectX is already available in .NET directly. OpenGL is a pet project of Dannys,
  and there were some issues that prevented getting it into managed code in time for this release.
  jkaster: question about Web Services and SOAP
  jkaster: tsool : "I heard you were using the Virtual Tree View in D2005. Any chance you might it make available as a component for the D2005 users for use in .NET?" - ask corbin or seppy in their chat
  aohlsson: Worried about what, Julian?
  jkaster: JonR : "It seems someone from the dev team mentioned that Microsoft has prohibited Borland from officially supporting mono. Is that the accurate?" - not correct. That would be a violation of US Federal law for MS to
  attempt to prohibit Borland from doing this.
  dthorpe: tjipke: vacation, family, then work. :P.
  funkyfred: hi all
  Anders: Hi Fred!
  funkyfred: hi
  funkyfred: VIP Lounge? Public Chat?
  funkyfred: :-)
  MrBtrieve: hello
  MrBtrieve: 10-4
  MrBtrieve: coffee?
  MrBtrieve: Gates
  DavidF: Got my cup
  MrBtrieve: returns
  UnitOOPS: Refactoring, eh?
  UnitOOPS: Btw...is this the volume level we can expect?
  UnitOOPS: Btw...I use "UnitOOPS" since my real name breaks lots of stuff
  UnitOOPS: Jim OBrine
  UnitOOPS: (OBrien)
  UnitOOPS: Right.
  MrBtrieve: YAY
  MrBtrieve: im #1
  serge_d: hi, I hear you guys
  serge_d: ;o)
  serge_d: when do you plan to release first update for D2005?
  iman: lol serge
  cobolman: hi all
  cobolman: Pepseye?
  MrBtrieve: French mineral water
  DavidF: Wow! All these high-tech dudes (MrBetrieve, Cobolman)!!
  serge_d: nothing illigal at work (drinks)?
  cobolman: Hey Anders - nice to see you - havent seen you in the ngs for a while
  cobolman: yup - thats me
  MrBtrieve: i am hi-tech
  DavidF: Hi Danny
  cobolman: Hi All - how long until you officially start?
  iman: no
  cobolman: Nope - connecting was easy
  AndiS: no problem
  bmcgee: No problems connecting here
  serge_d: nop, nice sound too
  DavidF: wadda mean Cobolman. This is it. chat away!
  MrBtrieve: when you pasted a link in the chat, clicking on taht should open a new browser.
  leopasta: ok from here
  bmcgee: Missed the Cobol thing, though
  iman: roomkey needs to be bold and underline
  cobolman: OK great - time to get some caffeine
  drbob42: no problem here - good sound
  cobolman: Hey Dr Bob - got your hat on?
  iman: yes
  drbob42: no hat anymore ;-)
  iman: :)
  cobolman: WHAT! That Mark Miller .... <g>
  DavidF: How we supposed to recognize yoou without the hat Dr Bob?
  drbob42: I just turned 40 a few days ago...
  cobolman: Bloody yougster ;-)
  drbob42: old feller...
  drbob42: thanks
  leopasta: hey, this was a good example of a kylix app ;) It is good to see you are using it :)
  MrBtrieve: kylix? whats that?
  cobolman: Gday
  futurix: Hello there!
  serge_d: a little louder please! ;o)
  cobolman: That must be a safe harbour statement <vbg>
  drbob42: Danny, you rock!
  serge_d: PS. Click on a picture replaced current page, which then lead to clear chat
  JonR: Picture opened a new page for me... IE6
  maxrf: not for me IE6
  serge_d: PS.2. We see a lot of people rejoining, so ...
  futurix: Firefox rules! ;-) I opened it in a tab
  cobolman: Firefox here too - works great
  mnk: test
  sGingter: Hello
  sGingter: makes sense :)
  drbob42: and stringlists
  futurix: Thank you! :-)
  mnk: dr.bob is here!
  drbob42: where else would I be? <g>
  mnk: what means 42?
  drbob42: the object pointer cannot be changed, but the properties can!
  drbob42: but you can change the properties. I have an example...
  Brion: did someone remember to start the transcript recorder?
  livechat: Can we see the questions that have been asked already?
  drbob42: hmm, ok - thanks for the warning then ; )
  cobolman: OK - thanks for that answer. Quite a bit to it :-) Seems similar to C#
  MrBtrieve: keep them lightweight please!
  serge_d: (ICollection) Why? Can we get just accessor interface
  JonR: Someone could create a TInterfacedCollection?
  Wizardiii: I have heard some of you have missed the audio portion. If you dont hear danny goto:
  Wizardiii inserts the following link:
  serge_d: I have one. Exactly from a standpoint of accessor (available in DS Plug-in framework)
  serge_d: I can post TInterfacedCollection to binaries for D2005 (could be included somewhere?)
  JonR: How about posting to CodeCentral?
  serge_d: OK, will do
  serge_d: still would prefer to see it in base class...
  JonR: Id prefer a separate class, so TCollection doesnt have the overhead (the same reason there is a TInterfaceList, TObjectList, etc)
  serge_d: then you will need to reintroduce TCollection editors and classes for existing components
  JonR: If TInterfacedCollection could drive from TCollection, shouldnt existing editors work?
  MrBtrieve: does multi-unit namespaces have any effect on win32 projects?
  drbob42: no
  Wizardiii: Ask questions using the Ask Button.
  MrBtrieve: <== .NET clueless
  MrBtrieve: sorry
  Wizardiii: then they show up above ;-)
  MrBtrieve: my mistake
  JonR: Dannys comments dont represent Borlands opinion, so D9 works for me. :)
  serge_d: to JinR, yes...
  MrBtrieve: "vb code" hehehe
  emisosa: function inlinining.. finally! :)
  JonR: Very very useful for API wrappers too...
  drbob42: yes, I would like to see that hint ; )
  JonR: As long as we can turn it off :-P
  drbob42: you can always uncheck all hints ;-)
  emisosa: heheh
  domus: Salut, Bruno.
  bfierens: hi all
  domus: <- Dominique
  emisosa: good one jkaster :)
  emisosa: sorry, i meant , good one Tjipke.. :P
  Tjipke: thx
  leopasta: It would be extremelly useful to know when a function could be inlined by the compiler
  drbob42: So finally I can use my Klingon (Unicode) identifiers!
  Wizardiii: lol
  drbob42: no Klingon properties! DokaH!
  emisosa: :D
  domus: "Honey, Im in the middle of a meeting"
  edan: What is involved in moving a VCL (that extensively uses Win32 API calls) to a .NET assembly?
  leopasta: LOL
  cobolman: Someone asked about 64bit! Who did that? Own up! Come on :-)
  serge_d: Delphi 200x and WindowsXP/2003 extensions (GUI) - getting Windows XP logo compliance for generated aps cobolman: Dennis? Are you in here? Will? : )
  _zzorro: No it wasnt Dennis....
  cobolman: Yeah - I see it was futurix
  leopasta: .Net is the overhead on using .Net interfaces :)
  cobolman: Thanks for these answers guys - I appreciate it.
  DonS: generic generics?
  drbob42: but you need the CLX units from D7 to allow it to work on D2005...
  JonR: CrossKylix is very cool...
  drbob42: yes, it is very very cool indeed!!
  JulianK: Only 48 users? I expected 4800.. :(
  drbob42: perhaps you are late? missed the best part? <g>
  JoeH: thats great news !
  drbob42: Thats Delphi 2006, right, not the year 2006... ??
  jthurman: I finally escaped from prior obligations, with 5 minutes left in the chat...
  Wizardiii: With my buffer delay your answers are here before I hear you talk about them ;-)
  JonR: Past chats have been archived...
  serge_d: thank you, will do
  serge_d: To JohnK: Sorry ;( WindowsXP complaince? Docking, Help system, look and feel, theams, ... we have things done but not completed...
  Wizardiii: MaxOdenda... it is on the partner CD.
  MaxOdenda: Together for Delphi ? Wizardiii: CrossKylix
  MaxOdenda: I know, I was thinking about a real integration including form designer
  JulianK: From all that I hear, Im really worried as Delphi developer. :(
  MrBtrieve: why?
  emisosa: you should be happy!
  Wizardiii: Why?
  drbob42: are you listening to the same channel?? ;-)
  JulianK: Cause since "D6" the Delphi seems like one endless experiment..
  emisosa: to you? ;)
  jthurman: I think Borland is (rightfully) leary of Mono after the lackluster Kylix results.
  jthurman: Or is that leery?
  drbob42: its called innovation - progress...
  drbob42: BTW, the full Feature Matrix is online now!
  jthurman: bob: Cool.
  Tjipke: thanks guys (danny especially)
  delyria: reset
  jthurman: Thanks Danny! (and hi, incidentally)
  Tjipke: Danny no get back to work soon!
  drbob42: with a few typos in the key...
  webcab: Thanks, now do I schedule a chat with Chris Benson
  drbob42: thanks Danny
  bmcgee: Thanks guys.
  DonS: thx guys...
  MaxOdenda: Thanks Borland for these Chat events
  _zzorro: Thanks guys.
  serge_d: there is updated version of component list as well
  drbob42: BUT THE CHART/KEY IS A BIT WRONG - SEE NON.TECHNICAL
  livechat: Thank you. Thank you very much!
  emisosa: no, thank you... we should do this chats more often
  AndiS: bye
  drbob42: Bye everyone
  serge_d: bye everyone
  Server Response from: SC3