Freigeben über


Typische Aufrufsequenz

Die Methoden, die Sie zum Erstellen einer Freihanderkennung implementieren müssen, werden von den Tablet PC Platform-APIs und nicht direkt von einer Freihandanwendung aufgerufen.

Die folgenden Schritte stellen eine typische Aufrufsequenz für die Implementierung dieser Methoden dar:

  1. Die DLL wird geladen.
  2. Es wird ein HRECOGNIZER Handle erstellt.
  3. Es wird ein HRECOCONTEXT Handle erstellt.
  4. Erkennungsoptionen und Modi werden für diesen Kontext festgelegt.
  5. Striche werden den Freihanddaten hinzugefügt.
  6. Die Eingabe wurde beendet.
  7. Die Freihandeingabe wird erkannt.
  8. Die Erkennungsergebnisse werden zurückgegeben.
  9. Der HRECOCONTEXT Handle wird zerstört.
  10. Der HRECOGNIZER Griff wird zerstört.

Die Aufrufsequenz wird auch in der folgenden Codegliederung veranschaulicht:

CreateRecognizer(CLSID, &hrec);
while (more pieces of ink to recognize ... )
{
  // Create a context, once per piece of ink to be recognized
  hrc = CreateContext(hrec, &hrc);

  // Functions to set up options and modes for this context
  SetGuide(hrc, pGuide, 0);
  SetFactoid(hrc, 5, PHONE); // only if in application with forms
  SetFlags(hrc, RECOFLAG_WORDMODE); // rare, only if wanting word mode, no out-of-dictionary, or single segmentation
  SetWordList(hrc, hwl);

  // Adding all the strokes in this piece of ink
  while (more strokes ... )
  {
    AddStroke(hrc, NULL, 800, pPacket, pXForm);  // one call per stroke
  }
  EndInkInput(hrc);

  // This gets the ink recognized
  Process(hrc);

  // If this is a simple application, it calls this for a simple answer
  GetBestResultString(hrc, length, buffer);

  // If this is a complex application, it calls this for a complete answer
  GetLatticePtr(hrc, &pLattice);

  // Destroy the context
  DestroyContext(hrc);
}
// Called just before the application shuts down
DestroyRecognizer(hrec);

Erkennungs-APIs

Erkennungs-API-Architektur