I am having a problem with a function call:
    
    
    Error: type mismatch: got <proc (n: cint, activationReason: cint, 
instanceData: ptr pointer, frameData: ptr pointer, frameCtx: ptr 
VSFrameContext, core: ptr VSCore, vsapi: ptr VSAPI): ptr VSFrameRef{.locks: 
<unknown>.}> but expected 'VSFilterGetFrame = proc (n: cint, activationReason: 
cint, instanceData: ptr pointer, frameData: ptr pointer, frameCtx: ptr 
VSFrameContext, core: ptr VSCore, vsapi: ptr VSAPI): ptr VSFrameRef{.cdecl.}'

Both types look the same to me. What am I missing?:
    
    
    got <proc (n: cint,
                          activationReason: cint,
                          instanceData: ptr pointer,
                          frameData: ptr pointer,
                          frameCtx: ptr VSFrameContext,
                          core: ptr VSCore,
                          vsapi: ptr VSAPI): ptr VSFrameRef{.locks: <unknown>.}>
    
    but expected 'VSFilterGetFrame = proc (
                          n: cint,
                          activationReason: cint,
                          instanceData: ptr pointer,
                          frameData: ptr pointer,
                          frameCtx: ptr VSFrameContext,
                          core: ptr VSCore,
                          vsapi: ptr VSAPI): ptr VSFrameRef{.cdecl.}'

The line that is causing the error is:
    
    
    let tmp2:VSFilterGetFrame = cropGetframe
    
    Run

where VSFilterGetFrame is defined as:
    
    
    type
         VSFilterGetFrame*  = proc(n: cint, activationReason: cint, 
instanceData: ptr pointer, frameData: ptr pointer, frameCtx: ptr 
VSFrameContext, core: ptr VSCore, vsapi: ptr VSAPI):ptr VSFrameRef {.cdecl.}
    
    Run

Reply via email to