Schwer lesbar?
Das ist wohl ein bissl untertrieben.
Nja, da der Code eigentlich nur aus Timern besteht, würde ich die Stück für Stück mal abschalten und schauen ob es dann
läuft nicht sofort verreckt.
Aber eigentlich solltest du mal lernen wie man den Debugger verwendet.
Also entweder wie hier schon von jemandem beschrieben wurde,
oder wenigstens erstmal ein paar Haltepunkte in die paar Methoden und dann schauen ob/was da passiert.
Ach ja, warum gibt es da diese komischen globalen Variablen?
Und wieso sind die
nochmals in dem einem Timer deklariert? (OK, hier gehören wie zumindestens scheinbar auch hin, was man aber aus dem
grauenaften Code nicht wirklich erkennen kann)
Was mir noch zufällig in die Augen stach...
Zitat:
sndPlaySound('positiv2.wav',SND_ASYNC); //SOUND
Zum Thema "relative" Pfade gibt es im Forum massig zu lesen und das man sowas gefälligst besser nicht zu machen hat.
Eine Variante:
sndPlaySound(PChar(ExtractFilePath(Application.ExeName) + 'positiv2.wav'), SND_ASYNC);
Auch wenn du bei
sndPlaySound zwar den Vorteil hast, daß dort Windows die Datei sucht, wenn es Diese nicht da findet, wo du es angegeben hast.
=>
aktuelle Arbeitsverzeichnis <> Programmverzeichnis