저는 컴퓨터 1에서 작성한 프로젝트에 있었고 이제는 컴퓨터 2에서 편집하고 실행하려고했습니다. 두 컴퓨터 모두 동일한 운영 체제와 동일한 Delphi 버전을 가지고 있습니다. 나는 (아무것도 수정하지 않고) 컴퓨터 2 프로젝트를 컴파일하려고으로특정 컴퓨터에만있는 Delphi 액세스 위반
그것은이 FMX 프로젝트이고, 액세스 위반이에 System.Win.OleControls
에서 발생 1. 컴퓨터에 아무런 문제가 없었다하더라도 액세스 위반이 나타났다 procedure TDelegatedOleControl.CreateControl;
"OleCheck(FPersistStream.InitNew)
"이 포함 된 행에 있습니다.
내 응용 프로그램의 GUI가 나타나기 전에 오류가 발생하므로 어떻게 알 수 있습니까? 내 코드에서이 문제의 원인은 무엇입니까?
일반적으로 메모에 물건을 추가하여 오류가 있음을 확인합니다. 문제가있는 곳에서 오류가 발생하기 때문에이 오류가 발생하기 전에 내가 알 수있는 방법을 알고 싶습니다.
이 예외를 무시하고 계속하면 응용 프로그램과 함께 놀고있는 것처럼 보이지만 모든 것이 예상대로 작동하기 때문에 영향을받지 않습니다. 불행히도 또 다른 문제가 있습니다. 앱 안의 프레임에 TWebbrowser가 있습니다. 컴퓨터 1에서는 모든 것이 잘 작동했지만 컴퓨터 2에서는 사이트를로드하려고 시도 할 때 액세스 위반 오류가 발생했습니다. 그러나 이것은 앱의 사용에 영향을주지 않습니다. 이들의 매우 대부분이 같이 나에게 정말 중요하지 않습니다 if FIsPostQuitMessage then
포함하는 행의 function TPlatformWin.HandleMessage: Boolean;
에 FMX.Platform.Win
에 있었다있는 40 오류 같은 약
에서는 WebBrowser의 슬로우하는 또한 오류가 발생하지 않는 컴퓨터 1을 계속 사용할 수 있지만 컴퓨터 2는 약간 빠르기 때문에이 오류를 컴퓨터 2에서 해결하는 것이 좋습니다.
무엇이이 오류를 일으킬 수 있으며 왜 그들은 컴퓨터 2에만 독점적으로 나타나고 있습니까?
업데이트
원래이 프로젝트는 내가 FMX 프로젝트로 "변환"을 관리하는 VCL 프로젝트였다. 나는이 여러 버전을 전에했는데 문제가 아니었고 또한 시각적 인 구성 요소를 재사용했다. 수동으로 다시 작성하는 것은 많은 작업 이었기 때문에 고통 스럽다. 이것은 아마도 오류를 일으킬 수 있습니까? 정말 컴퓨터 (1) 모든
갱신 2
응용 프로그램 시작시 오류가 FormCreate
가 호출되기 전에도 발생에 아무런 문제가 없었다으로이 이유가 될 것 보라 수 없습니다, 그래서에 Kow를 몰라 내 코드에서 아무 것도 책임지지 않는 것처럼이 오류를 추적하십시오.
갱신 3
내가 얘기를 깜빡 했네요, 내가 컴퓨터 2 프로젝트를 개발하기 시작 것을, 나는 컴퓨터 1로 이동하고 괜찮 았는데 내가 컴퓨터 2로 돌아 가려고으로 상황은 위에서 설명한 발생했다.
Update4 FormCreate 절차가 시작되기 전에 오류가 this 내가 오래 전에 IE를 제거하고 그것에 대해 잊고 this에 그것을 가리 킵니다. 이 문제는 컴퓨터 1에서와 마찬가지로 IE가 여전히 사용 가능하며 오류가 표시되지 않습니다.
이 URL에서 주어진 그것을
시도 방법을 복구하는 것입니다 제안 인한 문제는 "_Both 컴퓨터가이를 ... Delphi_"두 번째 컴퓨터에 디버그를 . 먼저 디버그 DCU를 활성화해야합니다. –
코드가 없거나 오류에 대한 설명이 없습니다 ... 어떻게 문제가있는 사람을 알 수 있습니까? –
오류 스크린 샷을 답장 아래에 게시했습니다. PC에 액세스 할 수있는 경우 몇 시간 만에 메인 포스트로 업데이트하겠습니다. – qGold