DinkToPdf
DinkToPdf copied to clipboard
[FIX] Managed Debugging Assistant 'CallbackOnCollectedDelegate' exception
If you have such a problem, then you need to download the source and make the following changes in BasicConverter.cs
- Add this lines to constructor and generate properties for delegates
public BasicConverter(ITools tools)
{
Tools = tools;
/// THIS LINES
OnPhaseChangedDelegate = new VoidCallback(OnPhaseChanged);
OnProgressChangedDelegate = new VoidCallback(OnProgressChanged);
OnFinishedDelegate = new IntCallback(OnFinished);
OnWarningDelegate = new StringCallback(OnWarning);
OnErrorDelegate = new StringCallback(OnError);
}
- Inside method
byte[] Convert(IDocument document)
find this lines
Tools.SetPhaseChangedCallback(converter, OnPhaseChanged);
Tools.SetProgressChangedCallback(converter, OnProgressChanged);
Tools.SetFinishedCallback(converter, OnFinished);
Tools.SetWarningCallback(converter, OnWarning);
Tools.SetErrorCallback(converter, OnError);
and replace with
Tools.SetPhaseChangedCallback(converter, OnPhaseChangedDelegate);
Tools.SetProgressChangedCallback(converter, OnProgressChangedDelegate);
Tools.SetFinishedCallback(converter, OnFinishedDelegate);
Tools.SetWarningCallback(converter, OnWarningDelegate);
Tools.SetErrorCallback(converter, OnErrorDelegate);
- And if you want remove little memory leak - add
ProcessingDocument = null;
beforereturn
inbyte[] Convert(IDocument document)
p.s. I deliberately did not use the pool requests, because they have not been accepted for a long time.