[Lazarus] I have enhanced the lazsvn SVN IDE plugin

Bernd Kreuss prof7bit at googlemail.com
Tue Aug 3 22:19:41 CEST 2010


Alexander,

> Try the following to limit the problem:  in your callback do not call 
> *ANY* FPC runtime related code - Just a "Win32 MessagBox(0, "hi", 
> "text", MB_OK)".  Add the process id (GetProcessId) to that dialog 
> output and also in your main program (to see if you are really in an 
> external thread).
>
I am in an external thread.
> If that works, call a simple global FPC function (no object) and again 
> just that callback there.
>
> After that works, just a simple FPC object call and again that message 
> box.
>
> I still assume in the compiler version you are using, you simply can't 
> call FPC objects inside external threads.
this is the full code of the callback

procedure ExecuteCommandClb(tmlhandle : TML_COMMAND_HANDLE; pCBData : 
Pointer); cdecl;
var
  hsidex : SIDEX_HANDLE;
  val    : SIDEX_VARIANT;
begin
  tml_Cmd_Get_Sidex_Handle(tmlhandle, at hsidex);
  if assigned(hsidex) then
  begin
    val := sidex_Variant_New_Boolean(true) ;
    sidex_Variant_Write(hsidex,'Answer', 'Accept', val);
    sidex_Variant_DecRef(val);
  end;
end;

no FPC objects are called. I've thought that this might be the reason 
and changed the code to try, but it didn't work either.
All calls are API calls of my dll.
>
> Also have a look at the mantis - e.g. see if 0012987 is related to 
> your problem? (http://bugs.freepascal.org/view.php?id=12987)
This sounds pretty much like my problem.
I'm new to lazarus and I've downloaded the installer package as it is. 
Can I change the FPC Compiler without changing my current IDE and how 
can I do this ?
I think it might be a good idea to use the current version to double 
check if the problem is still there.
The latest release is 2.4.0. Why does the lazarus installer for windows 
install 2.2.4, it seems  a little bit out of date ?
>
>
> I might be fully wrong with my assumptions, I'm just thinking loudly 
> because I had the same issue - just another architecture :-)
I am happy about any hint to solve this one. The dll is already ported 
to Linux and Mac OS-X and I've decided to use lazarus for
some demo applications.

Maik




More information about the Lazarus mailing list