Einzelnen Beitrag anzeigen

Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#6

Re: var-Parameter mit Thread nutzen

  Alt 14. Feb 2008, 13:23
Zitat von Muetze1:
Wenn du TDataFrame als lokale Variable deklarierst, dann belegst du 2 MB auf dem Stack. Rufe diese Funktion dann noch einmal auf und dein Stack ist voll. Wenn du soviel Speicher brauchst, dann alloziier ihn dynamisch (GetMem(), etc).
Ja, das war mir klar, dass das der Grund für den Stacküberlauf ist. Danke für den Hinweis mit GetMem(). Werde mir die Routine anschauen....


Zitat von sirius:
Nicht nur an den Threads ist etwas nicht optimal, auch das mit dem TDataFrame ist irgendwie komisch. Jetzt fehlt mir aber Wissen um diese USB-Schnittstelle um dir weiterzuhelfen.
Okay, aber das es hierbei um eine USB Kommunikation geht ist ehr nebensächlich. Es muss halt zwei mal eine (Sende-)Fkt. aufgerufen werden (diese braucht komischerweiser ein Pointer anstatt eines var-parameters, also muss ich hier nichts kopieren) und dann muss zwei mal die (Empfangs-)Fkt. aufgerufen werden (diese benötigt einen var-Parameter, anstatt eines Pointers, deswegen sehe ich hier das Kopieren der Daten bis jetzt als einzige, aber unschöne Lösung).
Die jeweils nächste Fkt. darf aber erst ausgeführt, wenn die Vorherige abgearbeitet wurde. Ob eine Fkt. abgearbeitet ist, kann ich in der jeweiligen Callback Fkt. feststellen, welche aufgerufen wird sobald eine Fkt. beendet ist.
Da die Menge der Daten die versendet/empfangen werden unterschiedlich groß sind, muss TDataFrame ein gewisse Größe haben.
Wie das Konzept meiner Threads ist, habe ich ja schon geschrieben. Für jegliche Anregungen oder Verbesserungsvorschläge bin ich sehr dankbar. Wie gesagt, ist das erste Mal das ich mit Threads arbeite.
Vielen Dank
  Mit Zitat antworten Zitat