Q&A

  • 이건 미칠 일입니다. 도와주세요
OCX Code;

procedure TNVReadWrite.NVWrite(ItemStr: OleVariant; var Param: OleVariant;

Count: SYSINT);

var

i: Integer;

ParamList: array of Variant;

WriteStr: string;

begin

if bConnected then

begin

SetLength(ParamList, Count);

CopyMemory(@ParamList[0], @Param, Count*16);

GetListForItem(IniFile, string(ItemStr), ItemList, ValueList, TypeList);

........



호출하는 프로그램(위의 OCX를 콤포넌트로 사용하는 프로그램)의 코드

var

tmpParam: array of OleVariant;

i: integer;

IniFile: TIniFile;

myStr: string;

begin

myStr:= RadioGroup1.Items.Strings[RadioGroup1.ItemIndex];

NVReadWrite1.NVWrite(myStr, tmpParam[0], Length(tmpParam)); -------- (1)



여기서 (1)의 첫째 인자에 'ESN' 이런식으로 상수형으로 넣어주면 원하는 데로 값들이 인자로 넘어가는데 위에서 처럼 변수를 넣으주면 첫째 인자와 둘째 인자가 같은 값이 들어가 버리는 희안한 일이 일어납니다. 상수를 넘기면 되는데 변수가 안되다니...

회사에서 진행중인 프로젝트라서 자세히 코드는 못적지만 무슨 말인지 이해하시겠죠?

제발 부탁입니다. 이런 경우 어케 해야 하죠?

고수님들 부탁합니다.



0  COMMENTS