<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - Formerly working BASIC function to get a copy of an array no longer working. Interoperability and compatibilty affected."
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=134692">134692</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Formerly working BASIC function to get a copy of an array no longer working. Interoperability and compatibilty affected.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>LibreOffice
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>7.0.0.0.alpha0+
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>UNCONFIRMED
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>BASIC
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>libreoffice-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jag@psilosoph.de
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="http://bugs.documentfoundation.org/attachment.cgi?id=162852" name="attach_162852" title="Allowing to run code as proof for the reported bug.">attachment 162852</a> <a href="http://bugs.documentfoundation.org/attachment.cgi?id=162852&action=edit" title="Allowing to run code as proof for the reported bug.">[details]</a></span>
Allowing to run code as proof for the reported bug.

It's well known that arrays are assigned by reference generally, and that the
ByVal clause is disregarded for arrays passed to functions or subs. (Or, in
other words probably that the pointer is treated as the value.) 

However, up to Version 6.4.4.2 (at least):
If inside the body of a function having taken an array as parameter, it was
assigned to a new variable, say newVar, and this different variable was treated
by 

Redim Preseve newVar(without changing the dimensions), 

then newVar could be returned by the function to the caller, and this way
created a real copy of the original array passed as parameter.  

As I was told, this should also be the behavior of VBA. 

This doesn' work any longer. 

Leaving it the new way would also introduce logically inacceptable results as
demonstrated in the attachment, but mainly it would break existing code. 

In addition workarounds needing to assign array elements one by one to a copy
are inefficient by a factor of typically about 500 (judged from my testing).

Check my claims by running the code contained in the attachment stepwise as
explaied tom the detail in the attachment itself.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>