Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

21

19.03.2008, 10:50

hmmm....

ich bräuchte die ATL und WTL Bibliothek, die WTL habe ich gefunden, nur weiß wer wo ich die ATL runterladen kann?

THX und mfg
BloodRaptor
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

22

19.03.2008, 10:58

ups...

ist ja in der Platform SDK enthalten (hätte man in Wikipedia mal reinschreiben können) :lol:

mfg
BloodRaptor
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

23

19.03.2008, 11:02

Dann editier den Eintrag bei Wikipedia doch einfach dahingehend... :)

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

24

19.03.2008, 11:35

1.) gemacht^^

2.) leider werden in der Speech SDK Funktionen oder Variablen wie vsnprintf, strcpy, wcscpy und wcscat benutzt, welche als unsicher gelten und Fehler Verursachen...

jetzt steht in der MSDN man sollte ein _s hinterher hängen, dan kommt jedoch die Fehler meldung:

C-/C++-Quelltext

1
c:\programme\microsoft speech sdk 5.1\include\spdebug.h(274) : error C2660: 'strcpy_s': Funktion akzeptiert keine 2 Argumente

dabei ist _strcpy_s in tchar.h (wo auch _strcpy ist) definiert :?

mfg
BloodRaptor
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

25

19.03.2008, 11:48

Das ist ja gerade der Sinn und Zweck der _s (Secure) Varianten. Du musst immer die maximale Buffergröße mit angeben. Oder du stellst diesen Schwachsin einfach aus und schreibst portablen(auf Compiler) Code. Dazu stellst du einfach selbst sicher das du die Array-Grenzen nicht überschreitest. Und du kannst davon ausgehen, das im Speech SDK das von Microsoft schon berücksichtigt wurde. Stell demnach diese Funktion einfach ab.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

26

19.03.2008, 12:44

ahh thx wieder 10 Fehler weniger^^

nur bleiben da noch 3:

C-/C++-Quelltext

1
2
3
4
5
c:\programme\microsoft speech sdk 5.1\include\sphelper.h(2373) : error C2065: 'psz': nichtdeklarierter Bezeichner
c:\programme\microsoft speech sdk 5.1\include\sphelper.h(2559) : error C2440: 'Initialisierung': 'CSpDynamicString' kann nicht in 'SPPHONEID *' konvertiert werden
        Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden
c:\programme\microsoft speech sdk 5.1\include\sphelper.h(2633) : error C2664: 'wcslen': Konvertierung des Parameters 1 von 'SPPHONEID *' in 'const wchar_t *' nicht möglich
        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.


Quelltext zu Fehler 1:

C-/C++-Quelltext

1
2
3
4
5
6
7
    const WCHAR * PropertyStringValue() const
    {
        // Search for the first NULL and return pointer to the char past it.

        SPDBG_ASSERT(eEventId == SPEI_PROPERTY_STRING_CHANGE);
        for (const WCHAR * psz = (const WCHAR *)lParam; *psz; psz++) {}
        return psz + 1; //<-Hier erkennt er psz nicht mehr 

    }


Wieso erkennt der compiler die Variable 1 Zeile vorher noch psz bei return aber nicht mehr?

Quelltext zu Fehler 2:

C-/C++-Quelltext

1
SPPHONEID* pphoneId = dsPhoneId;

kann nicht konvertiert werden, aber in welches soll er überhaupt konvertiert werden :?

Quelltext zu Fehler 3:

C-/C++-Quelltext

1
2
3
4
5
                if (SUCCEEDED(hr))
                {
                    pPhraseElement[i].pszPronunciation = pphoneId;
                    pphoneId += wcslen(pphoneId) + 1;
                }

schon wieder ein konvertierungs-problem, aber wieder was soll überhaupt konvertiert werden?

also irgendwie verstehe ich hier nur Bahnhof...
der der den Queltext geschrieben hatt musste ihn doch auch irgendwie compilieren, nur wie hat er (oder die) das hinbekommen??

mfg
BloodRaptor
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

27

19.03.2008, 13:01

Generell: Warum nutzt du nicht SAPI 5.3 statt 5.1?

Zu 1: Die Bibliothek scheint sehr alt zu sein. Das war ein Fehler von VC++6.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
const WCHAR * PropertyStringValue() const
{
    SPDBG_ASSERT(eEventId == SPEI_PROPERTY_STRING_CHANGE);
    
    const WCHAR* ptr_string = static_cast<const WCHAR*>(lParam);
    while (*psz) ++psz;

    return psz + 1;
}


Zu den anderen Beiden. dsPhoneId hat ne Funktion ConvertToBSTR.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

28

19.03.2008, 13:48

wo bekomme ich den 5.3?

bei Wikipedia stand mal wieder nur was von 5.1-.-

mfg
BloodRaptor
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

29

19.03.2008, 14:09

http://www.microsoft.com/speech/speech2007/default.mspx

Hmm scheint aber echt die aktuelle zu sein, auch wenn in der MSDN Library schon von 5.3 die rede ist. Finde auch nur 5.1 SDK zum downloaden :(
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Task-Manager

Alter Hase

  • »Task-Manager« ist der Autor dieses Themas

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

30

19.03.2008, 14:34

naja egal,

ich habe mal deinen quelltext für Fehler 1 eingesetzt...

da kammen neue Fehler:

C-/C++-Quelltext

1
2
3
4
5
c:\programme\microsoft speech sdk 5.1\include\sphelper.h(2372) : error C2440: 'static_cast': 'const LPARAM' kann nicht in 'const WCHAR *' konvertiert werden
        Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
c:\programme\microsoft speech sdk 5.1\include\sphelper.h(2373) : error C2065: 'psz': nichtdeklarierter Bezeichner
c:\programme\microsoft speech sdk 5.1\include\sphelper.h(2373) : error C2065: 'psz': nichtdeklarierter Bezeichner
c:\programme\microsoft speech sdk 5.1\include\sphelper.h(2375) : error C2065: 'psz': nichtdeklarierter Bezeichner

jetzt hat er auch noch mit static_cast probleme...

an Fehler 2+3 arbeite ich noch dran die Funktion ConvertToBSTR aufzurufen^^

also langsam überlege ich mir diese Sache mit der Spracherkennung zu lassen...
wenn ich noch nicht einmal die Samples zum laufen kriege :cry:

es gibt ja auch noch fernbedinungen, welche ein MediaCenter steuern könnten :)
nur mit einer Spracherkennung können sie lange nicht mithalten :(

mfg
BloodRaptor
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

Werbeanzeige