Имеется кусок кода, который хорошо работает из основной программы, но будучи
помещённым в функцию из dll перестаёт работать:

DLLEXPORT void StartProcess()
{
    proc.start("trace_executor.exe");
    proc.waitForStarted();
    if(proc.open(QIODevice::WriteOnly))
    {
//        if(!proc.isWritable())
//            return;
        QTextStream strm(&proc);
        strm<<"Dll Connected!!!"<<endl;
        strm<<"Dll Connected!!!"<<endl;
        strm<<"Dll Connected!!!"<<endl;
    }
}

не работает запись в stdin запускаемого процесса.
Подозреваю, waitForStarted() не работает из dll. Но что тогда делать?