Código
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:
Código
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