Entwickler-Ecke
Windows API - TThread Problem
Mephisto090 - Sa 02.01.10 21:50
Titel: TThread Problem
hi,
Kurz und Knapp:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| type TSpeak = class(TThread) private FText: String; FVoice: OLEVariant; protected procedure Execute; override; public constructor Create(Text: String); end;
procedure TSpeak.Execute; begin FVoice:= CreateOLEObject('SAPI.SpVoice'); FVoice.Speak(FText, 0); end;
constructor TSpeak.Create(Text: String); begin inherited Create(false); FText:= Text; FreeOnTerminate:=True; end;
procedure TForm1.btn1Click(Sender: TObject); begin th:= TSpeak.Create('Hello'); end; |
Diese beiden fehler bekomme ich:
Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EOleSysError mit Meldung 'CoInitialize wurde nicht aufgerufen'. Prozess Project1.exe (2224)
Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EOleSysError mit Meldung 'CoInitialize wurde nicht aufgerufen, ProgID: "SAPI.SpVoice"'. Prozess Project1.exe (2224)
Bitte um Hilfe danke
Mfg Mephi
Mephisto090 - Sa 02.01.10 22:10
so soweit klappt das ja schon das ich die Form auf wenn er sprich bewegen kann bloß ich habe das jetzt ine ine klasse gemacht und er sagt nix mehr
danke schonmal soweit
Edit mir ist aufgefallen das ich die Var: 'oleVoice: OLEVariant;' nicht Local setzen darf sondern Privat
Narses - So 03.01.10 14:33
Moin!
In jedem Thread-Context ist ein eigenes CoInitialize erforderlich, deshalb könnte das so klappen: :idea:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TSpeak.Execute; begin CoInitialize(NIL); FVoice:= CreateOLEObject('SAPI.SpVoice'); FVoice.Speak(FText, 0); CoUnInitialize; end; |
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!