Hello, guys!
Firstly, thank you for such a great project! It's very nice to use it in a 
study process in a school/university.
And now a question :)
I have some trouble working on one of my projects, it's code is here:
https://github.com/Barracuda72/PT
The problem is with function "SentenceSample" in "PT4LibIFace.pas"; there are 
two ways - my stupidness or mysterious behavior of FPC compiler.
Code:
---------------------------------------------------------
function SentenceSample(N: integer): string; stdcall;
begin
  //writeln('N = ', N);
  //SentenceSample := RuGetSentence(N);
  inc(N);
end;
---------------------------------------------
Of course, inc(N); added just to simplify disassembling. And there is disasm:
---------------------------------------------
sentencesample  proc near
  push    ebp
  mov     ebp, esp
  inc     [ebp+0Ch]
  leave
  retn    8
---------------------------------------------
As you can see, procedure has only one parameter, but FPC generates code as if 
there are two 
parameters; and the main problem is that it trying to work with wrong variable 
(N is in ebp+08, 
not 0C; it's obvious and proved by debugging). The result is bad =)
So, can you say, there am I wrong?
Ah, I'm using Lazarus 1.0.14 with FPC 2.6.2, Win32 build
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to