<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 30/10/2013 13:49, Xiangrong Fang
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAP93jB2Vw1RBwhj2CFSoW_wmiX7KW2x6KxgMZN8cN+PA1ioziw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_default" style="font-family:courier
          new,monospace"><span style="font-family:arial">2013/10/30
            Martin </span><span dir="ltr" style="font-family:arial"><<a
              moz-do-not-send="true" href="mailto:lazarus@mfriebe.de"
              target="_blank">lazarus@mfriebe.de</a>></span><br>
        </div>
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div text="#000000" bgcolor="#FFFFFF">
                <div>
                  <div class="h5"> <br>
                  </div>
                </div>
                I think there is no problem with: <br>
                <br>
                var <br>
                  a: array of Integer<br>
                begin<br>
                  A:= obj.proc;  <br>
                <br>
                You are NOT using the type. You are using the value. <br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace">pascal is strong-typed.  You are actually
              using type along with its value.  e.g.</div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace"><br>
            </div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace">var</div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace">
                a: array of Double;</div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace">begin</div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace">  a := obj.proc;​​</div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace">
              <br>
            </div>
            <div class="gmail_default" style="font-family:'courier
              new',monospace">This will emit a COMPILE time error
              because compiler know these 2 types are not compatible.</div>
          </div>
        </div>
      </div>
      <br>
    </blockquote>
    <br>
    Yes. But what I mean is, your code does not refer to the type
    directly.<br>
    <br>
    Since the type is part of value, and the value is public, all of the
    type that is accessed through the value is available.<br>
    Same as you can access a private field through a public property.<br>
    <br>
    However the type itself (as referenced by the identifier in the type
    declaration), that is the type without a value, is not used by your
    code.<br>
    You do not declare a new variable of that type.<br>
    <br>
  </body>
</html>