kbmMemTable
에서 BLOB 필드를 사용하여 개발 한 사용자 정의 구성 요소를 TComponent
에서 저장하고 읽기 및 쓰기 구성 요소 스트림 메서드 TReader
을 사용하여 BLOB에 구성 요소를 읽고 씁니다. 들. kbmMemTable
의 데이터는 결국 GpStructuredStorage
으로 생성 된 구조화 된 저장 파일에 저장됩니다.Delphi 스트리밍 문제
내 구성 요소를 (kbmMemtable
과 함께) 새 응용 프로그램으로 옮기고 새 응용 프로그램에서 BLOB 필드를 읽으 려 할 때까지 완벽하게 작동했습니다. 처음에는 구성 요소 이름 지정 오류 (구성 요소 이름이 이미 있음)가 표시되었지만 나중에 TReader
이 내 구성 요소의 TPersistent
속성을 읽으려고 할 때 액세스 위반이 발생하기 시작했습니다.
는 지금까지 내가 아는 한, 나는 내가 gpStructuredStorage
파일에서 kbmMemTable
데이터를 가져 오지 방법과 내가 다시 TReader
를 사용하여 BLOB 필드에서 구성 요소를 읽는 방법에 관해서 아무것도 변경하지 않았다. 나는 구성 요소를 변경하지 않았으며 같은 테이블의 다른 BLOB 필드에 저장하고있는 다른 구성 요소에 문제가없는 것 같습니다 (적어도 읽을 때 오류가 발생하지는 않습니다.) 뒤로).
나는 문제가 될 수있는 곳에서 미안합니다. 어떤 도움이나 제안이라도 대단히 감사하겠습니다. 델파이 2007을 사용하고 있습니다.
질문의 서식이 텍스트의 벽이 아니도록하는 방법은 어떻습니까? 나는이 형식으로 그것을 읽으려고하지 않는다. –
TPersistent를 .dfm 파일에 쓰고 두 번째 .dfm 파일을 다시 읽은 다음 두 가지 응용 프로그램에서 문제를 재현 해보십시오. 그런 다음 문제를 재현 할 가장 간단한 TPersistent로 줄이십시오. 그런 다음 샘플 코드로 질문을 다시하십시오. –