[DUG] Moved to D2007 OK - Help system busted

2007-05-03 Thread John Bird
-migrating from D2006 -All pretty smooth so far - IDE looks more refined and slick and faster -Installing my extra components took 11 minutes (the joys of using most only standard VCL) -Built a couple of test programs then a good size one. All worked fine. -Entire tests and setting IDE options

RE: [DUG] Moved to D2007 OK - Help system busted

2007-05-03 Thread Jeremy Coulter
I made the mistake of selecting web based help or soemthing when I got prompted for what help system I wanted to use. DON’T DO THIS !!! Its like it searches some bizare website and its totally useless. Yesterday I was searching on VarType.got VB help !!! What the HELL is that about?? There

Re: [DUG] Moved to D2007 OK - Help system busted

2007-05-03 Thread Robert martin
I have / had the same problem Jeremy. I think I have the solution. Open help. Go to Tools | Options. Select help - online on the left and change it from Online first to local first. Hope that fixes it ! Rob Martin Software Engineer phone +64 03 377 0495 fax +64 03 377 0496 web

RE: [DUG] Moved to D2007 OK - Help system busted

2007-05-03 Thread Stephen Barker
I've got the help working right now in d2007, but occasionally it doesn't. It just comes up with some message like 'not in index' or similar. We had a brief problem with a DBISAM release which was fixed straight away, see below. It might be worth you trying to re-register the help in a similar

[DUG] D2007 save issue

2007-05-03 Thread Robert martin
Hi I have an annoying issue where when I save a project (save all) I get the following error (always) 'Unable to rename 'c:\Dev\path\path2\ChreosClient.tlb' to 'c:\Dev\path\path2\_history\ChreosClient.tlb~1~' I can delete the file in _History and it does save ok, but the next time I get the

RE: [DUG] D2007 save issue

2007-05-03 Thread Jason Saggers
Sound like you have create privs to the directory on your account, but not modify... This could be caused by the history files be logged into a source safe, that marks them as read only.. deleting them would then allow you to recreate the file. Just a guess however... Jason -Original

RE: [DUG] D2007 save issue

2007-05-03 Thread Myles Penlington
If you have reproducible case - or even better find the solution - I suggest you log it in QC. Myles. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jason Saggers Sent: Friday, 4 May 2007 10:08 To: NZ Borland Developers Group - Delphi List Subject: RE:

Re: [DUG] D2007 save issue

2007-05-03 Thread Robert martin
Done (I have 5 bugs submitted in the last week !). I just hoped someone knew a setting or some such that would fix this one. Rob Martin Software Engineer phone +64 03 377 0495 fax +64 03 377 0496 web www.chreos.com Wild Software Ltd Myles Penlington wrote: If you have reproducible

RE: [DUG] D2007 save issue

2007-05-03 Thread Myles Penlington
Just beware that they need to be reproducible and have detailed steps. Otherwise they will be ignored. Best if they have projects attached that cause the displayed issues. Myles. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Robert martin Sent:

Re: [DUG] D2007 save issue

2007-05-03 Thread Robert martin
Hi had already tried deleting the file and no go. However just deleted the whole dir and it seems fixed. Time will tell I suppose ! Thanks :) Rob Martin Software Engineer phone +64 03 377 0495 fax +64 03 377 0496 web www.chreos.com Wild Software Ltd Jason Saggers wrote: Sound like

Re: [DUG] D2007 save issue

2007-05-03 Thread Robert martin
Yeah I guessed that. However all but this one are very easily replicated. Rob Martin Software Engineer phone +64 03 377 0495 fax +64 03 377 0496 web www.chreos.com Wild Software Ltd Myles Penlington wrote: Just beware that they need to be reproducible and have detailed steps. Otherwise

[DUG] Dumb Friday Question

2007-05-03 Thread Jeremy Coulter
Hi All. This is a question that might be infulenced by some serious lack of sleep :-) I have a funtion. Its return result is a TStringlist. In my code I create a TStringlist then add my values to it, then pass this to the RESULT varaible for the function. Now, this is prob. an obvious answer

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Judd, Struan \(eCargo\)
Jeremy Coulter wrote: Hi All. This is a question that might be infulenced by some serious lack of sleep :-) I have a funtion. Its return result is a TStringlist. In my code I create a TStringlist then add my values to it, then pass this to the RESULT varaible for the function. Now,

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Leigh Wanstead
Hi Jeremy, I think you need this one http://v.mahon.free.fr/pro/freeware/memcheck ;-) Regards Leigh www.smootharm.com -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Jeremy Coulter Sent: Friday, 4 May 2007 1:28 p.m. To: delphi@delphi.org.nz

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Myles Penlington
Actually in D2006/D2007 it does not work. You just use FastMM instead - which has the equivalent options when running in Debug mode. Myles. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Leigh Wanstead Sent: Friday, 4 May 2007 01:55 To: [EMAIL PROTECTED]; NZ Borland Developers

RE: [DUG] Dumb Friday Question

2007-05-03 Thread David Brennan
Surely you are joking? Is that right? Delphi.NET doesn't have garbage collection? David. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Myles Penlington Sent: Friday, 4 May 2007 1:56 p.m. To: NZ Borland Developers Group - Delphi List Subject: RE:

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Xander \(GMail\)
Jeremy, If the function returns a TStringList then it should be the responsibility of the caller of that function to FREE the returned TStringList after it has finished using it. You cannot free it inside the function. Regards _ From: [EMAIL PROTECTED] [mailto:[EMAIL

Re: [DUG] Dumb Friday Question

2007-05-03 Thread Robert martin
Hi Your code would leak. You are creating an object and not freeing it. The calling function that retrieves the result must handle the freeing of the object. It might be clearer if you just change the function to a procedure that takes a TStringList as a parameter. i.e //Replacement

RE: [DUG] Moved to D2007 OK - Help system busted

2007-05-03 Thread John Bird
Still no Help at all. Where can I go to resolve this, or anyone got any suggestions where to troubleshoot - eg what are the help files called and where are they located so I can check they are there, and where are the settings where the IDE goes to look for them?? (The only non-standard thing I

Re: [DUG] Dumb Friday Question

2007-05-03 Thread Rohit Gupta
I would go along with Robert, you should not return complex types from functions that create them, It makes the code messy, you create it in one place and free it in another. Any sort of code analyser would also complain about this. You could return a string = stringlist.text and assign it

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Conor Boyd
I would endorse Rob's answer here. I don't consider it just a question of potential leaks, it's about making the intentions of your code clear. The intention of who has the responsibility for object lifetime is much, much clearer in Delphi if your caller creates the Stringlist that it wants

Re: [DUG] Dumb Friday Question

2007-05-03 Thread Neven MacEwan
You guys don't consider a constructor a function then? I think its totally stylistic, if you want to have functions returning objects fine, just make it plain that they do, IMHO Neven I would endorse Rob's answer here. I don't consider it just a question of potential leaks, it's about

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Paul Heinz
David asked: Surely you are joking? Is that right? Delphi.NET doesn't have garbage collection? Yes, it does. I'm guessing they're referring to the IDispose interface and pattern which Delphi.NET automagically maps calls to Free onto so that resources _other_ then memory get released early.

RE: [DUG] Dumb Friday Question

2007-05-03 Thread John Bird
question I knowbut the more I thought about it the more uncertain I becameI really need some sleep so that prob. the real probelm :-) Jeremy __ NOD32 2238 (20070503) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Sean Cross
-Original Message- From: [EMAIL PROTECTED] [mailto:delphi- [EMAIL PROTECTED] On Behalf Of Neven MacEwan Sent: Friday, 4 May 2007 2:45 p.m. To: NZ Borland Developers Group - Delphi List Subject: Re: [DUG] Dumb Friday Question You guys don't consider a constructor a function then?

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Conor Boyd
I do consider a constructor a function to some extent, but it's a function which has compiler support. I.e. the compiler guarantees to tidy up a partially constructed result object if an exception gets raised in the constructor. Also, everybody knows that a constructor returns a complex object;

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Conor Boyd
Note for clarity, although I think we all understand this anyway. What we're talking about here is a function returning _and handing off_ an object. This is different to exposing an object (e.g. a StringList) as a property of a class, e.g. the Items property of a combobox or similar. In that

Re: [DUG] Dumb Friday Question

2007-05-03 Thread Robert martin
Warm fuzzy feelings :) Rob Martin Software Engineer phone +64 03 377 0495 fax +64 03 377 0496 web www.chreos.com Wild Software Ltd Rohit Gupta wrote: I would go along with Robert, you should not return complex types from functions that create them, It makes the code messy, you create

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Conor Boyd
That code's safe from a memory POV, but I wouldn't have coded it like that personally, because to me, the intentions aren't clear. I believe that the fact that you had to go and look at the implementation supports my suggestion of trying to clarify intentions. I haven't used TFindFile (so

RE: [DUG] Dumb Friday Question

2007-05-03 Thread karlreynolds
You guys don't consider a constructor a function then? I think its totally stylistic, if you want to have functions returning objects fine, just make it plain that they do, IMHO Neven The downside to having creator functions returning objects is that you have to duplicate the code in

RE: [DUG] Dumb Friday Question

2007-05-03 Thread karlreynolds
you have to duplicate the code in TObject.Create to ensure safety What I meant was the ClassHandleException code which runs when an exception occurs during a constructor. Cheers, Carl ___ NZ Borland Developers Group - Delphi mailing list Post:

Re: [DUG] Dumb Friday Question

2007-05-03 Thread Neven MacEwan
Hi The solution is to use interfaces, but if you don't it would be difficult to implement a factory pattern There is this thing in OO language users which seems to be the muddy area between scalars and objects, ie is a TStringList a simple object or a complex scalar, of course it doesn't help

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Tim Jarvis
Hi Guys, Hope you don't mind me sticking my nose in here. Firstly I agree with the sentiment that you should try and avoid creating objects in one place and freeing in another, however I don't think that this situation represents that, think of a function that returns a class as a factory

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Leigh Wanstead
SignatureI think PopulateList should be guarded by try. Procedure DoSomthing; Var List : TStrings; Begin List := TStringList.Create; try PopulateList(List); if List.Count 0 then begin .do lots of stuff with the list End; Finally List.Free; End; End; I would write

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Conor Boyd
Fair enough, although you can't really talk about where the variable is declared, since we're talking about multiple variable references to the same object instance. To me, some of the examples here today just smell slightly bad in Delphi, and that's why I personally avoid them; I believe that

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Karl Reynolds
It isn't different, but that's because: List := TStringList.Create; PopulateList(List); try if List.Count 0 then begin .do lots of stuff with the list End; Finally List.Free; End; is not safe. You need to move the PopulateList(List) inside the try/finally, and

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Moretti, Giovanni
Tim Jarvis [EMAIL PROTECTED] wrote: Firstly I agree with the sentiment that you should try and avoid creating objects in one place and freeing in another ... This whole discussion is close to my heart. I've got a similar horrible situation where I've got a factory that produce objects

Re: [DUG] Dumb Friday Question

2007-05-03 Thread Neven MacEwan
Giovanni If the sun is shining in palmy its probably 4 below 0 You should definatetly be using intefaces not pointer for this this way you can do reference counting Neven Tim Jarvis [EMAIL PROTECTED] wrote: Firstly I agree with the sentiment that you should try and avoid creating

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Myles Penlington
And reference counting sucks (esp after a few beers), but is better than nothing (I hate circular references!!). Give me a GC any day (well almost). Give palmy a break - I was there for a few years (a long time ago). Myles. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL

Re: [DUG] Dumb Friday Question

2007-05-03 Thread Neven MacEwan
Myles As you said its better than nothing but if you really want to do some serious brain abuse, try to get to grips with CSS And reference counting sucks (esp after a few beers), but is better than nothing (I hate circular references!!). Give me a GC any day (well almost). Give palmy a break

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Myles Penlington
Hmm, Have never read anything about CSS - I give that to someone else. Mind you, I saw the acid2 test the other day, which was a very interesting compare of CSS abilities by the browsers - would be interesting and a long read of the css that produces that face. Only opera had success! Myles.

RE: [DUG] Dumb Friday Question

2007-05-03 Thread Tim Jarvis
Hi C(K)arl, Sure PopulateList could be in the try finally block (probably better in a nested except block actually), but the rest of what you say does not make sense for this function. Perhaps you are mixing up the 2 different functions? I purposely didn't add exception handling to the