title: How to declare a pointer(byte^)?
body: <p>I want to make a declaration of an external function,but I can't do it.</p>
  
  <p>this is my Delphi declaration,which doesn't compile.</p>
  
  <pre><code>procedure Encode(input:byte^;output:byte^;size:DWORD);cdecl;external 'blowfish.dll';
  </code></pre>
  
  <p>This is my C# declaration,which works.</p>
  
  <pre><code>[DllImport("blowfish.dll")]
  public static unsafe extern void Encode(byte* input, byte* output, UInt32 size);
  </code></pre>
  
  <p>My problem:the compiler exprects "(" after byte^ ,because of the ^.If I make a type mybyte= byte^; then how do I call the function with the first member in the byte array - it then cannot compile,because the array isnt type "myByte"?</p>