anchor.diff:  
   Procedure TOdbcStatement.Execute;
   Var
  -  ParsedSQL: String;
  +  ParsedSQL: PChar;
     RetCode: SQLRETURN;
   Begin
     Log(1, 'TOdbcStatement.Execute');
  
positive.code: 
    FExecuted:= False;
    FAborted:= False;
    If FPrepared Then
    Begin
      { Reset Statement Handle }
      If Hdbc.CursorLib = SQL_CUR_USE_DRIVER Then
        CloseCursor;
  
      { Execute SQL Statement }
      FRetCode:= SQLExecute(FHstmt);
    End
    Else
    Begin
      { Parse Parameter SQL }
      ParsedSQL:= ParseSQL;
  
      { Execute SQL Statement }
      FRetCode:= SQLExecDirect(FHstmt, Pointer(PChar(ParsedSQL)), SQL_NTS);
    End;
    If FAborted Then
    Begin
  
negative.code:   else
    begin
      {$IFDEF MACOS}
      getMem(result, (length(s)+1) * 4);
      fillChar(result^, (length(s)+1)*4, 0);
  //    for i := 1 to length(s) do
  //      result[(i-1) * 2] := s[i];
      {$ELSE}
      getMem(result, (length(s) + 1) * 2);
      fillChar(result^, (length(s)+1)*2, 0);
      move(s[1], result^, length(s) * 2);
      {$ENDIF}
    end;
  