|
하안인 님이 쓰신 글 :
: void __fastcall TMyDataServer::GuestProviderBeforeUpdateRecord(
: TObject *Sender, TDataSet *SourceDS, TClientDataSet *DeltaDS,
: TUpdateKind UpdateKind, bool &Applied)
: {
: int ErrCount;
: GuestProvider->ApplyUpdates((TClientDataSet *) DeltaDS, 1, &ErrCount); //에러
: }
:
: 에서 2285 Could not find a match for 멲rgument(s) 에러가 발생되는데요.
:
: 에러내용이
: No C++ function could be found with parameters matching the supplied arguments. Check parameters passed to function or overload function for parameters that are being passed.
:
: 인데요. Provider의 원형이
: virtual System::OleVariant __fastcall ApplyUpdates(const System::OleVariant &Delta, int MaxErrors, int &ErrorCount);
: virtual System::OleVariant __fastcall ApplyUpdates(const System::OleVariant &Delta, int MaxErrors, int &ErrorCount, System::OleVariant &OwnerData);
:
: 입니다.
:
: 위의 사용이 어디가 잘못되었는지 지적해 주시면 감사하겠습니다.
:
:
OleVariant의 Delta값이 DeltaDS->Delta값이군요.
GuestProvider->ApplyUpdates(DeltaDS->Delta, 1, ErrCount);
로 하니 에러가 안나네요.
근데 3번째 파라메터값은 어드레스를 넘겨야 하는것이 아닌가요.
GuestProvider->ApplyUpdates(DeltaDS->Delta, 1, &ErrCount);
로 하면 에러가 나네요
|