Of course after about twenty hours looking at this I discovered what the error was immediately after posting!!! :doh: steve_hocking wrote: _Private Sub Command3_Click() On Error GoTo Command3_Click_Err Dim tc As COMReturnTest.TestClass Dim rt As COMReturnTest.ReturnType Set tc = New COMReturnTest.TestClass_ **SET** _rt = tc.StringSetTest Command3_Click_Err: MsgBox "An error occurred" + vbCrLf + vbCrLf + "Error: 0x" + Hex(Err.Number) + vbCrLf + _ "Description: " + Err.Description + vbCrLf + "Source: " + Err.Source End Sub_ You need to SET objects in wonderful vb... :doh: Thanks anyway, I'm just getting me coat, if you can call a taxi for me... :-O