Re: Edit and Continue in BDS 2006




"Atle Smelvær" <atle@xxxxxxxxxxxxxx> wrote in message
news:43df2d62@xxxxxxxxxxxxxxxxxxxxxxxxx
> Ofcourse this functionality must be used with care. It's not like it
> rewinds all adjusted variables before jumping back. So a lot can happen
> when you do that. I haven't tested edit and continue in VS but in win32
> world it is more or less impossible to create something that would rewind
> all values up to a point.
>
> Could someone tell me if this edit and continue stuff in VS actually
> rewinds the values when jumping back?

I don't know what they're doing in the current VS. E&C has been a longtime
Basic feature though (from the DOS days), and became an issue in VS when
they removed it with VB.Net.

E&C in the VB world allowed you to change the code itself and reset the
"next statement". Variables retained their value and did not rewind.

As for code changes, you can pretty much change anything you want so long as
it's in the "current" procedure and you don't try to establish a new
variable or label.

FWIW, E&C is pretty difficult to implement without a lot of granularity at
execution time. The previous implementations in MS Basic were all
accomplished in the interpreter, not with natively compiled code. Design
time code in VB always ran as interpreted pcode, compiling to native (or
pcode at the developers choice) on a final build.

Somehow MS picked up the E&C thing as a big deal on why they were losing VB
developers. It's nice, but they sure missed the mark and not many
established developers think it matters much. As I've told them, I can't
Edit *or* Continue code that doesn't work in the new language. It's nice
and I've used it for years, but not all that important. Debugging (trace
with values) is extremely important. Changing values is really good.
Editing code would be real nice (and marketeers can make a big deal of it),
but it simply doesn't affect the development process a whole lot.

I'm not sure I've completely answered your question, if you have more fire
away.

Dan


.