[vtkusers] Using Borland BCC6 and VTK

Louis-Jacques Lalonde lalond01 at gel.ulaval.ca
Sat Nov 29 14:06:50 EST 2003


Hi !
 
First, thanks for taking time to read my message.  Since 2-3 days I'm
trying to use VTK with Borland C++ Builder 6 (with patch #4).
 
I downloaded the latest version of VTK source (4.2.4)
I downloaded the latest version of Cmake (1.8.2)
I used CMake to build a Borland makefile
I used make.exe from Borland to compile everything.
 
I didn't get any errors.  My problem is when I try to use VTK in
Borland.  I want to make a GUI with a VTK window.
 
I found the component vtkBorlandRenderWindow in
/Examples/GUI/Win32/vtkBorland/
So I installed it.  It added correctly in the component bar.  When I try
to compile the demo programme I get this error.
 
The exception is raised at:
DummyCritSect.Lock();    // vtkPolyData::~vtkPolyData()
 
I have the VTK libs included in my project.
 
All my problems are when I close the form where is my vtkRenderWindow.
I see the demo correctly, I can interact with the object in the
Renderwindow, but the program crash when I close the form.
 
I also tried to compile a older version of VTK(4.2.2) and I have the
same problem.
 
I tried to make a little program myself because I was thinking maybe the
component was the problem.
 
__fastcall TForm1::TForm1(TComponent* Owner)
     : TForm(Owner)
{
     renderer = vtkRenderer::New();
     renWin = vtkRenderWindow::New();
     renWin->AddRenderer(renderer);
 
     renWin->SetParentId(this->Handle);
     iren = vtkRenderWindowInteractor::New();
     iren->SetRenderWindow(renWin);
 
     cone = vtkConeSource::New();
     cone->SetHeight( 3.0 );
     cone->SetRadius( 1.0 );
     cone->SetResolution( 10 );
 
     coneMapper = vtkPolyDataMapper::New();
     coneMapper->SetInput(cone->GetOutput());
     coneActor = vtkActor::New();
     coneActor->SetMapper(coneMapper);
 
     renderer->AddActor(coneActor);
     renderer->SetBackground(0.2, 0.4, 0.3);
     renWin->SetSize(300, 300);
     renWin->SetPosition(0,0);
 
     cone->Delete();
     coneActor->Delete();
     coneMapper->Delete();
 
     renWin->Render();
}
void __fastcall TForm1::OnDestroy(TObject *Sender)
{
     iren->Delete();
     renderer->Delete();
     renWin->Delete();
}
 
It crash when I close the program.  If I follow the execution, the
OnDestroy ends, after the execution goes in vtkRenderer.h
void AddActor(vtkProp *p) {this->AddProp(p);}; and it's where it crash.
 
If anyone can help me, that would be very nice. I read everything I
could find in the mailing list without finding the solution.  Is it a
problem with my Borland C++ Builder or my CMake Build? Any particular
option I should set when I build a Borland Makefile?
 
Thanks,
 
Louis-Jacques Lalonde
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20031129/fe9b0283/attachment.htm>


More information about the vtkusers mailing list