変数、フィールドいずれでもポインターを取得出来るメソッド
| 日付 | 2003/09/24 | 
|---|---|
| ID | 29679 (英語原文参照) | 
| バージョン | 2003.1 | 
| プラットフォーム | Mac & Win | 
この記事は、最新ではないバージョンに関連した方法について解説しています。
最新のバージョンでは推奨されていないか、または他の方法で簡単に実現できる可能性があります。
メソッドサンプルです。
(Version 6.7.x, 6.8.x, 2003.xで有効)
  ` ユーティリティメソッド: tool_Getpointer
  ` 変数かフィールドの名前を基にそれらを指すポインタを返します
C_POINTER($0)
C_STRING255;$1)
C_STRING(255;$var)
C_LONGINT($tableID;$fieldID)
C_LONGINT($vlTable;$vlField;$i)
C_STRING(255;$tableName;0)
C_LONGINT($oci_l_tableMax)
$var:=$1
$tableID:=0
$fieldID:=0
$0:=Get pointer($var)
If (Undefined($0->))  ` フィールドと仮定して...
  $oci_l_tableMax:=Count tables
  For ($vlTable;1;$oci_l_tableMax)
    $tableName:="["+Table name($vlTable)+"]"
    If (Position($tableName;$var)>0)
      $tableID:=$vlTable
      $vlTable:=$oci_l_tableMax+1
    End if 
  End for 
  If ($tableID>0)
    $vlField:=Count fields($tableID)
    For ($i;1;$vlField)
      If (Position(Field name($tableID;$i);$var)>0)
        $fieldID:=$i
        $i:=$vlField+1
      End if 
    End for 
  End if 
  If (($tableID>0) & ($fieldID>0))
    $0:=Field($tableID;$fieldID)
  End if 
End if 
記述例:
C_POINTER(pointerVar)
pointerVar:=tool_Getpointer("myvariable")
もしくは、
pointerVar:=tool_Getpointer("[table]fieldname")
