Schönen Sonntag!
Ich habe mich mit FRAX beschäftigt und denke, dass es das richtige AddOn für mich ist. Allerdings versuche ich mein "Thread-Problem" zu lösen - ich arbeite nach der "TopDown" Philosophie und starte sehr viele Teilprogramme als Thread. Ich habe einen Hinweis gelesen, dass FRAX nicht Thread-tauglich ist, habe aber auch einen Hinweis gelesen, dass es mit laden und entladen funktonieren soll.
Kann mir jemand sagen, wie ich es anstellen soll - so wie ich es mache erhalte ich beim 2. Aufruf des Threads "Interne Datenstrukturen beschädigt".
So sieht meine Thread-Funktion aus:
// ###########
function FRAX()
FrPrn := frReportManager():new("FRSyst.dll")
FrPrn:init()
USE Kunden new
FrPrn:SetWorkArea("Kunden", Select("Kunden"))
FrPrn:DesignReport()
FrPrn:LoadFromFile("1.fr3")
FrPrn:ShowReport()
FrPrn:DestroyFR()
close databases
return .T.
Freundliche Grüße
Karl Heinz
FRAX und Threads
Moderator: Moderatoren
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Moin Karl Heinz,
mit folgendem Code sollte es funktionieren:
Gruß, Olaf
mit folgendem Code sollte es funktionieren:
Code: Alles auswählen
function FRAX( lShowDesigner)
Local FrPrn
FrPrn := frReportManager():new("FRSyst.dll")
FrPrn:init()
USE Kunden new
FrPrn:SetWorkArea("Kunden", Select("Kunden"))
FrPrn:LoadFromFile("1.fr3")
if lShowDesigner // Designer aufrufen
FrPrn:DesignReport()
else // Preview-Modus
FrPrn:PrepareReport()
FrPrn:ShowReport()
endif
FrPrn:ClearDatasets()
FrPrn:DestroyFR()
close databases
return NIL
Hallo Lewi,
danke für die schnelle Antwort und sorry wegen meines späten Feedback's. Leider funktioniert es so nicht. Der erste Aufruf ist OK, der Designer startet, wenn ich ihn beende und erneut aufrufe erhalte ich:
Fehlerprotokoll von: F:\alaska\Projekte\pl-profi\Entwicklung\PL-PROFI.EXE Datum: 15.11.2007 15:37:29
Xbase++ Version : Xbase++ (R) Version 1.90.331
Betriebsystem : Windows XP 05.01 Build 02600 Service Pack 2
Programmversion : PL-Profi 2007.004
Kunde : xxxxxxxxxxxxxxxxxxxxxxxx
Seriennummer : 30000-00000
Speicher VIRT_AVAIL : 291840
Speicher VIRT_TOTAL : 601088
Speicher RAM_AVAIL : 37888
Speicher RAM_TOTAL : 253952
Speicher PROC_TOTAL : 450820
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: _DLL
Interne Datenstrukturen beschädigt.
Nach OK:
Die Ausnahme "Unbekannter Softwarefehler" (0x0eedfade) ist....an der Stelle 0c.... aufgetreten.
Nach OK:
Runtime error 217 at 03.....
WICHTIG: Ich starte die Function in einen THREAD!
Gruß
Karl Heinz
danke für die schnelle Antwort und sorry wegen meines späten Feedback's. Leider funktioniert es so nicht. Der erste Aufruf ist OK, der Designer startet, wenn ich ihn beende und erneut aufrufe erhalte ich:
Fehlerprotokoll von: F:\alaska\Projekte\pl-profi\Entwicklung\PL-PROFI.EXE Datum: 15.11.2007 15:37:29
Xbase++ Version : Xbase++ (R) Version 1.90.331
Betriebsystem : Windows XP 05.01 Build 02600 Service Pack 2
Programmversion : PL-Profi 2007.004
Kunde : xxxxxxxxxxxxxxxxxxxxxxxx
Seriennummer : 30000-00000
Speicher VIRT_AVAIL : 291840
Speicher VIRT_TOTAL : 601088
Speicher RAM_AVAIL : 37888
Speicher RAM_TOTAL : 253952
Speicher PROC_TOTAL : 450820
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: _DLL
Interne Datenstrukturen beschädigt.
Nach OK:
Die Ausnahme "Unbekannter Softwarefehler" (0x0eedfade) ist....an der Stelle 0c.... aufgetreten.
Nach OK:
Runtime error 217 at 03.....
WICHTIG: Ich starte die Function in einen THREAD!
Gruß
Karl Heinz
Beste Grüße
Karl Heinz
Karl Heinz