Hola tengo esto:
while (Process32Next(handle, &process)){
::process * _process = new ::process();
_process->name = new QLabel(ui.processes_widged_area);
_process->close = new QPushButton(ui.processes_widged_area);
_process->folder = new QPushButton(ui.processes_widged_area);
_process->suspend = new QPushButton(ui.processes_widged_area);
char _name[261];
wcstombs(_name,process.szExeFile,260);
_process->name->setText(_name);
_process->close->setText("Close");
_process->folder->setText("Open dir");
_process->suspend->setText("Suspend");
processes.insert(processes.end(), _process);
ui.gridLayout_4->addWidget(_process->name, processes.size(), 1, 1, 1);
ui.gridLayout_4->addWidget(_process->close,processes.size(),2,1,1);
ui.gridLayout_4->addWidget(_process->folder, processes.size(), 3, 1, 1);
ui.gridLayout_4->addWidget(_process->suspend, processes.size(), 4, 1, 1);
}
processes es std::vector<process *> processes;
Es una funcion que tiene que refrescar los procesos. Para esto necesito borrar los anteriores:
for (int i = 0; i < processes.size(); i++){
processes[i]->folder->deleteLater();
processes[i]->close->deleteLater();
processes[i]->name->deleteLater();
processes[i]->suspend->deleteLater();
}
Pero es aquí donde falla. Con el típico mensaje de infracción de acceso.
Alguien me puede ayudar ?
Saludos