Hey Jules…
I am using InterprocessConnection in following scenario, As before i was using connector as only object but now i need to make it as pointer, and i am encountered with some errors. I hope some one can put some light to the error i am getting here.
class Control : public Compoenent, public ButtonListenr
{
private:
ScopedPointer<Button> connect;
Connector * connector;
void resized()
{
connect ->setbound
}
void paint(Graphics & g)
{
}
void buttonClicked(Button * buttonThatWasClicked)
{
if(buttonThatWasClicked == connect )
{
if(!connector)
connector = new Connector(*this);
if(connector)
if(connector->connecToServer())
// success do some work
}
}
public:
Control() : connect(nullptr)
{
AddAndMakeVisible(connect = new Button("connect"));
}
~Control ()
{
if(connector)
{
connector->disconnect();
connector = nullptr;
delete connector;
}
}
}
class Connector : public InterprocessConnection
{
private:
Control & control;
public:
connector(Control & control):control(control){}
~connector(){}
void connectionMade ();
void connectionLost ();
void messageReceived (const MemoryBlock &message);
bool connecToServer()
{
bool serverResponse = connectToSocket(control->getServerIPAddress(), control->getPortNumber(), 1000);
if(serverResponse)
return true;
else
return false;
}
}
Now when connectToServer return successfully true , i do my work. and than it is also getting disconnect() also. Though i check in destructor, and disconnect and delete connector in my Control’s distructor. But I get following errors.
f:\dd\vctools\crt_bld\self_x86\crt\src\dbgmalloc.c (56): malloc
d:\onrepowork\csworking\csplayer\ccsplayer\jucelibrarycode\modules\juce_core\memory\juce_weakreference.h (174): juce::WeakReference<juce::InterprocessConnection,juce::ReferenceCountedObject>::Master::getSharedPointer
d:\onrepowork\csworking\csplayer\ccsplayer\jucelibrarycode\modules\juce_core\memory\juce_weakreference.h (206): juce::WeakReference<juce::InterprocessConnection,juce::ReferenceCountedObject>::getRef
d:\onrepowork\csworking\csplayer\ccsplayer\jucelibrarycode\modules\juce_core\memory\juce_weakreference.h (88): juce::WeakReference<juce::InterprocessConnection,juce::ReferenceCountedObject>::WeakReference<juce::InterprocessConnection,juce::ReferenceCountedObject>
d:\onrepowork\csworking\csplayer\ccsplayer\jucelibrarycode\modules\juce_events\interprocess\juce_interprocessconnection.cpp (193): juce::ConnectionStateMessage::ConnectionStateMessage
d:\onrepowork\csworking\csplayer\ccsplayer\jucelibrarycode\modules\juce_events\interprocess\juce_interprocessconnection.cpp (218): juce::InterprocessConnection::connectionMadeInt
d:\onrepowork\csworking\csplayer\ccsplayer\jucelibrarycode\modules\juce_events\interprocess\juce_interprocessconnection.cpp (57): juce::InterprocessConnection::connectToSocket
d:\onrepowork\csworking\csplayer\ccsplayer\source\network\networkconnection.cpp (97):
