Q&A

  • crc16아시는분 SOS!!!
[Error] Monitoring_U.pas(236): Unsatisfied forward or external declaration: 'TMonitoring_F.make_crc16'
이런 에러는 어떻게 해결하나요?


//선언부
function make_crc16(msg:PChar; cnt:Integer): Word;

//호출
str := inttohex(make_crc16( PChar(sendStr),length(sendStr) ),2)

//함수
function make_crc16(msg:PChar; cnt: Integer):Word;
var
  crc: Word;
  i,j: integer;
begin
  crc := $ffff;
  for i:=0 to cnt do
  begin
     crc := crc and (Byte(msg[i]) and $FF);
     for j:=0 to 7 do
     begin
        if (crc and $0001) > 0 then
           crc := (crc shr 1) xor $A001  //POLYNOM := $A001
        else crc := (crc shr 1);
     end;
  end;

  result := crc;
end;
1  COMMENTS
  • Profile
    이중철 2005.11.18 02:53
    함수 정의 부문이 틀렸네요

    선언부는 클래스에 있고 함수는 없어서 에러가 났습니다.

    함수 있는 부문을 이것으로 바꾸면 될듯 합니다.

    function TMonitoring_F.make_crc16(msg:PChar; cnt: Integer):Word;