H
H
Hint2012-11-07 23:05:07
Macros
Hint, 2012-11-07 23:05:07

Themida macros (vm_start, vm_end) and try… except?

Is it possible to use exception handling between vm_start and vm_end at all? Even if another function is called?
Example:

function B(x: integer): integer;
begin
  ..
  try
    ..
  except
    ..
  end;
  ..
end;

function A(x: integer): integer;
begin
  {$I vm_start.inc}
  Result := B(x);
  {$I vm_end.inc}
end;

Answer the question

In order to leave comments, you need to log in

1 answer(s)
H
Hint, 2012-11-08
@Hint

Got a response from Oreans:

Yes, that's correct to do. Notice that "B" should not be an inline function as that would be the same as putting a VM macro around a try-except statement which can produce executions problems.

So it is possible if B is not an inline function.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question