also ich hab folgendes problem:
ich möchte eine struktur, mit hilfe eines zeigers, einem slot übergeben.
Quellcode:
...h
typedef struct{
char name[10];
int wert;
....
} t_meineStruct;
extern t_meineStruct meineStruct[num];
...h
public slots:
void newSlot(struct t_meineStruct *zgr);
...cpp
struct t_meineStruct *pz;
pz = &meineStruct[k];
connect( timer, SIGNAL( timeout()), this, SLOT( newSlot(pz)));
void Dialog::newSlot(struct t_meineStruct *zgr)
{
...
}
aber irgendwie läuft das nicht. kann mir irgendjemand sagen wo der fehler liegt.
ich find ihn nicht.
volture!
struktur als zeiger durch slotargument übergeben?
Bei signal und slot müssen die Parameter übereinstimmen. Dies ist bei dir nicht der Fall. Ausserdem ist es gar nicht möglich, irgendwelche Parameter an die connect() oder connect()-ähnliche Funktionen wie z.B. singleShot() zu übergeben.
Dadurch, dass deine Strukturvariable anscheinend global ist, könntest du das folgendermassen lösen:
void Dialog::newSlot()
{
struct t_meineStruct *pz;
pz = &meineStruct[k];
doIt(pz);
}
oder mach meineStruct zu Klassenvariable.
Dann wird's laufen.
Dadurch, dass deine Strukturvariable anscheinend global ist, könntest du das folgendermassen lösen:
void Dialog::newSlot()
{
struct t_meineStruct *pz;
pz = &meineStruct[k];
doIt(pz);
}
oder mach meineStruct zu Klassenvariable.
Dann wird's laufen.