Hoi!
Ik probeer een tool te ontwikkelen in C++ (Borland compiler 6) wat realtime bepaalde commando's uit een file in leest en deze uitvoert met het system() commando. Nu heb ik bepaalde panels gemaakt in een form die van rood naar groen moeten springen als het uitvoeren succesvol is verlopen. De code hiervan werkt als ik het systeem commando in de loop uit schakel, dan worden alle knopjes na het inlezen netjes stuk voor stuk groen. Echter, als ik het systeem commando weer aan zet, worden ze pas na het uitvoeren van alle commando's groen en niet per commando. Ik vermoed dat het refresh commando wat ik aan roep op de stack wordt gegooid door Windows en niet meteen wordt uitgevoerd. Weet iemand hoe je dit kan forceren?
(ik heb al Repaint(), Update(), Refresh(), SetFocus() en Invalidate() geprobeerd en werken helaas ook niet)
Het gaat om dit stukje code:
while((!inf.getline(cCommand, 2048).eof()))
{
Memo2->Text=cCommand;
Memo2->Refresh();
// Perform command
StaticText6->Caption="Running reconstruction...";
system(cCommand);
// Change colour of relevant button
if (!strncmp(cCommand, mCopy, 3))
{
Panel7->Color=clLime;
Panel7->Refresh();
}
if (!strncmp(cCommand, mHist, lenBins))
{
Panel8->Color=clLime;
Panel8->Refresh();
}
}
Alvast bedankt!
Ik probeer een tool te ontwikkelen in C++ (Borland compiler 6) wat realtime bepaalde commando's uit een file in leest en deze uitvoert met het system() commando. Nu heb ik bepaalde panels gemaakt in een form die van rood naar groen moeten springen als het uitvoeren succesvol is verlopen. De code hiervan werkt als ik het systeem commando in de loop uit schakel, dan worden alle knopjes na het inlezen netjes stuk voor stuk groen. Echter, als ik het systeem commando weer aan zet, worden ze pas na het uitvoeren van alle commando's groen en niet per commando. Ik vermoed dat het refresh commando wat ik aan roep op de stack wordt gegooid door Windows en niet meteen wordt uitgevoerd. Weet iemand hoe je dit kan forceren?
(ik heb al Repaint(), Update(), Refresh(), SetFocus() en Invalidate() geprobeerd en werken helaas ook niet)
Het gaat om dit stukje code:
while((!inf.getline(cCommand, 2048).eof()))
{
Memo2->Text=cCommand;
Memo2->Refresh();
// Perform command
StaticText6->Caption="Running reconstruction...";
system(cCommand);
// Change colour of relevant button
if (!strncmp(cCommand, mCopy, 3))
{
Panel7->Color=clLime;
Panel7->Refresh();
}
if (!strncmp(cCommand, mHist, lenBins))
{
Panel8->Color=clLime;
Panel8->Refresh();
}
}
Alvast bedankt!