델파이 내가 정적 문자열 배열을 사용하고 2006 년에 내 코드를 컴파일 문제가 오전 : 나는이 프로그램의 시작 부분에서 호출하는 과정에서델파이 오류 E2283 너무 많은 지역 상수
fsi_names : array [0..FSI_NUM_VARS-1] of string;
을, 이 배열에 값을 할당합니다. 이 코드는 내가 작성한 스크립트에 의해 자동으로 생성됩니다. 다음과 비슷한 줄로 구성됩니다.
fsi_names[idFSI_FLIGHT_PATH_ANGLE] := 'FSI_FLIGHT_PATH_ANGLE';
이 배열에는 약 2000 개의 요소가 할당됩니다. 컴파일러가 죽는 곳의 마법 번호를 찾을 수는 없었지만 1853과 작동하고 2109는 사용하지 않습니다.
이 배열을 사용하여 배열 (배열의 인덱스)을 변환해야합니다.)를 다양한 응용 프로그램의 문자열로 사용합니다.
할당 목록을 분리하고 각 부분을 다른 절차에 넣으면 효과가 있다는 것을 알고 있습니다. 그러나 코드가 자동 생성되고 자주 변경되기 때문에이 방법은별로 편하지 않습니다.
또한 파일에 내용을 넣고 런타임에 읽는 방법에 대해 생각했지만 최소한의 파일 수를 유지하고 싶습니다. 또한 일반 사용자의 콘텐츠를 보호하고 싶습니다.
컴파일러의 한계를 극복하거나 내 목표를 달성하기 위해 코드를 변경하는 방법에 대해 알고 있습니까?
도움을 주신 데 대해 감사드립니다.
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/cm_too_many_consts_xml.html –
한계 밖에있는 경우 적용됩니까 좋은 하루를 되세요 절차? 그것은 내가 어쨌든 그것을 넣을 곳이다. – mj2008
@Andreas Rejbrand :이 힌트를 가져 주셔서 감사합니다. Google을 통해서도 발견되었지만 제한적인 수치는 언급하지 않았으며 모든 경험 많은 프로그래머로부터 조언을 얻기를 바랍니다. – Flo