That bug again, but this time I've made a Gifeo (neologism for GIF Video).


That bug again, but this time I've made a Gifeo (neologism for GIF Video).

I've changed a component source code, but Delphi still use the old version as shown in the History tab

To understand the steps, the local Integer "Value" take the value of private member "FItemIndex" (F8), but it get the value -1 that was hardcoded in the previous version of the code.

Comments

  1. Most of the times when this happens to me, I have multiple versions of the same dcus somewhere in the path. Because of this, I have a cmd file to delete all dcus (both debug and release) . It is almost as if a project group can fail to isolate paths between projects.

    ReplyDelete
  2. it's not the case, there's only one .pas, one .dcu and a single project (the component Package and de Project are in the same directory) with a single target OS.

    ReplyDelete
  3. I did post something similar to this some time back though, where I couldn't explain the values in the evaluator  - but which disappeared after a rebuild.  There is definitively a ghost in the machine here.

    https://plus.google.com/u/0/+LarsFosdal/posts/LA8dgRw51Gu

    ReplyDelete
  4. Delphi XE8 Version 22.0.19027.8951

    ReplyDelete
  5. Been there, done that, never found the cause, so it's definitely not the French flavour of Delphi (;
    Seriously: after cleaning out DCUs and restarting Delphi, then it always went OK. I presume it is the IDE doing DCU caching to aggressively.

    ReplyDelete
  6. perhaps a bug in the way currently edited source are handled, when you restart Delphi all the files are saved.

    ReplyDelete
  7. If it's a visual component, then compiling the component while having a form, which uses the component, open, and then switching to design view and then saving forces cache refresh. The bug is at least as old as D2010.

    ReplyDelete
  8. Dennis Langthjem did'nt know that, so it's still an active bug on XE8 ;)

    ReplyDelete
  9. Dennis Langthjem Is there any QC/QP for that?

    ReplyDelete
  10. Not that I know of. Found out by maintaining a older project with custom visual components that needed changes. Work with project groups, and found that the VCL cache was reset when compiling with the main form open, and then switching to design view and saving everything before building. Discovered it by coincidence.

    ReplyDelete
  11. It's not an issue when working with nonvisual components, just with VCL.

    ReplyDelete
  12. if your component has the pair of files .pas and his corresponding .fmx or .dfm, you must be aware of that the application that use this component have in his source path the dfm o fmx.  Always. Actually if you don't exposes the source code of your component to the main application.

    ReplyDelete

Post a Comment