TDataSourse によってグリッドにリンクされている TdxMemData にデータを挿入するのに苦労しています。PurchaseData と呼ばれる MemData には、Date (日付)、Place (文字列)、Value (通貨) の 3 つの列があります。次のことを行うボタンがあります。
PurchaseData->Insert();
PurchaseData->FieldByName("Date")->Value = TDateTime::CurrentDate().DateString();
PurchaseData->FieldByName("Place")->Value = "";
PurchaseData->FieldByName("Value")->Value = 0.0f;
PurchaseData->Post();
一度クリックすると、通常どおり行が挿入され、データがグリッドの新しい行に表示されますが、ボタンをもう一度クリックすると、Insert() で「型 (Null) のバリアントを型 (String) に変換できませんでした」というポップアップが表示されます。 )」。
列のプロパティ「KeyFields」が、他の3つのフィールドに加えてフィールド「RecId」をコンボで表示するという事実が心配です。RecId という列を作成した覚えがありません。作成した場合は削除しました。私はそれが何であるかを理解できず、助けも見つけることができませんでした。