은 내가이 DLL은 특정 폴더에 HTML에서 JPG 파일을 저장 여기 http://www.codeproject.com/KB/recipes/RtfConverter.aspx?fid=1458864&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=3427424&fr=1#xx0xx어떻게 파티 개체 dll에서 개체를 공개? 내가 프로그램을 실행할 때
을 발견 DLL을 사용하고 를 HTML로 RTF를 변환하는 프로그램을 개발하고 있어요, , 그것은 cinverts 처음 rtf 및 폴더에 이미지를 완벽하게 저장합니다 하지만 내가 다시 이걸 변환하려고 할 때 "오류 일반 오류 GDI +에서 발생했습니다"이 dll SaveImage 메서드를 사용하여이 피하기 위해 당신이 만든 이미지 개체를 릴리스해야하지만 DLL을 수정할 수 없습니다. 이 DLL에서 만든 개체를 해제 할 수있는 방법이 있습니까? 이 내 코드입니다
RtfVisualImageAdapter imageAdapter = new RtfVisualImageAdapter(
@Application.StartupPath + "\\Program Data\\temp\\{0}{1}",
System.Drawing.Imaging.ImageFormat.Jpeg);
RtfImageConvertSettings imageConvertSettings =
new RtfImageConvertSettings(imageAdapter);
RtfImageConverter imageConverter = new RtfImageConverter(imageConvertSettings);
try
{
IRtfDocument rtfDocument = RtfInterpreterTool.BuildDoc(
ConversionText, imageConverter);
RtfHtmlConverter htmlConverter = new RtfHtmlConverter(rtfDocument);
htmlConverter.Settings.ConvertVisualHyperlinks = true;
htmlConverter.Settings.UseNonBreakingSpaces = true;
this.richTextBoxPrintCtrl2.Text = htmlConverter.Convert();
}
catch (Exception exception)
{
MessageBox.Show(this, "Error " + exception.Message, this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
"이 작업을 수행 할 수없는 경우 별도의 AppDomain에 코드를로드하고 거기에서 코드를 실행할 수 있습니다. 작업을 마쳤 으면 AppDomain을 언로드하여 응용 프로그램에서 개체를 해제하고 다시 만듭니다 다음 실행을위한 AppDomain. " 죄송하지만 이해가 안됩니다. "또 다른 문제 : 동일한 파일을 두 번 실행하거나 두 개의 다른 파일을 연속해서 실행하면 GDI 오류가 발생합니까? 두 번째 파일의 이미지를로드하지 못하고 오류가 발생할 수 있습니다." 오류는 파일이 다른 응용 프로그램이나 프로그램에서 사용 중임을 나타냅니다. 감사합니다. – Mohamed
"오류로 인해 GDI +에서 일반 오류가 발생했습니다. "라는 오류 메시지가 표시됩니다. AppDomains는 기본적으로 언로드하려는 COM 구성 요소에 매우 유용합니다. 기본적으로 언로드 할 수있는 유일한 방법이므로 AppDomains는 매우 유용합니다. 리소스 –
appDomains를 생성하고 출시하는 것은 그다지 쉬운 일이 아니지만 AppDomain을 릴리스해도 관리되지 않는 리소스가 해제됩니까? – Asher