Null pointer Exception in Pascal Script for Delphi in 64-bit

Hi,

it won’t work as expected - testcase error.
You are trying to store 64bit Pointer into 32bit value.
as a result, value will be broken.

  sessval:integer;
...
function createsession(str:string) :TUserSession;
...
function MyOwnFunction(Data: string): string;
var
  us: TUserSession;
begin
  // Do something with Data
  us := TUserSession(sessval);
...
  sessval := integer(createsession(''));

I can suggest to use IntPtr or Int64 type instead

Thank you very much. My problem was resolved

Hi,

since d5057bb commit, code like

function TSQLQueryGetQueryText(Self: TSQLQuery): String;
  with CL.Add(TSQLQuery) do
    RegisterMethod(@TSQLQueryGetQueryText, 'GetQueryText');

won’t be supported in x64 environment.


workaround: use class helpers like

type
  TMySQLQuery = class helper for TSQLQuery
  public
    function GetQueryText: String;
  end;

function TMySQLQuery.GetQueryText: String;
  with CL.Add(TSQLQuery) do
    RegisterMethod(@TSQLQuery.GetQueryText, 'GetQueryText');