[vtkusers] Data cannot transfer between different dll when link VTK in static mode

kenichiro yoshimi rccm.kyoshimi at gmail.com
Sat Jul 21 10:39:14 EDT 2018

Hello Yirui,

I think the problem is caused by the missing information relating to
the pipeline and hence WHOLE_EXTENT. Therefore in Function2WriteImage
function, you need to explicitly create vtkTrivialProducer to pass the
WHOLE_EXTENT to the writer below.

void Function2WriteImage(vtkSmartPointer<vtkImageData> data)
  int ext[6];
  vtkSmartPointer<vtkTrivialProducer> producer =

  std::cout << "Write image using function2.dll" << std::endl;
  vtkSmartPointer<vtkMetaImageWriter> writer =
  try {
  catch (...)
    std::cout << "function 2 write image error." << std::endl;

2018年7月21日(土) 17:16 yirui1210 <523480317 at qq.com>:
> Hello,
> I build VTK 8.0 in static mode in Windows 10, VS2015, and I write a simple demo which has two dll modules. The data is transferred as following:
> (1) read data in module 1 and save it, this is no problem.
> (2) transfer the data in module 1 to module 2.
> (3) write the data in module 2, but there is error, the saved data is empty.
> I have traced the code in VTK roughly, the image extent is [0, -1, 0, -1, 0, -1], but I can retrieve the pixel, the pixel value can be get correctly. The demo code I used is attached in this email, any help or tips will be appreciated, thank you!
> Regards,
> Yirui
> _______________________________________________
> Powered by www.kitware.com
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> Search the list archives at: http://markmail.org/search/?q=vtkusers
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtkusers

More information about the vtkusers mailing list