Einzelnen Beitrag anzeigen

Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#12

Re: Vista Suche in Delphi nutzen

  Alt 12. Feb 2009, 14:38
Zitat von nahpets:
Fehler nicht weg

Dann muss er irgendwo anders liegen und erst beim Öffnen der Abfrage "wirksam" werden (behaupte ich mal so )

Interessant ist:

erwartet:
SELECT "System.ItemUrl", "System.FileName" FROM "SYSTEMINDEX" WHERE CONTAINS(*,'"Jawassuchenwirdennjetztnuneigentlich*"',1031) bekommen:SELECT "System.ItemUrl" FROM "SYSTEMINDEX" WHERE CONTAINS(*,'"Jawassuchenwirdennjetztnuneigentlich*"',1031) Nach welchen Kriterien erfolgt denn die Auswahl der auszugebenden Spalten?

An anderer Stelle im Programm reagierst Du auf EOleException, die hat ein paar Attribute mehr, wenn die auch hier geworfen wird, ließe sich da eventuell ja noch ein bisserl mehr Information rausholen
Delphi-Quellcode:
except
   on E: EOleException do
   begin
     ShowMessage(E.Message + #13 + 'ErrorCode: ' + IntToStr(ErrorCode) + #13 + 'Source: ' + Source);
   end;
  end;
  on e : Exception do
  begin
    ShowMessage(E.Message);
  end;
Nach den bisherigen "Erkenntnissen" gehe ich davon aus, dass man zur Suche kein SQL benötigt, sondern per pQueryHelper.GenerateSQLFromUserQuery "alles" geschenkt bekommt.

Eventuell mal
Delphi-Quellcode:
qry.Close;
qry.SQL.Clear;
qry.sql.Add(pSQL);
qry.Open;
probieren, aber eigentlich ist das jetzt nur noch hilflose Daddelei, die ich da vorschlage, befürchte, dass ich da ohne die entsprechenden Werkzeuge keine verwertbare Hilfestellung mehr geben kann

PS: Habe kein Vista und nur Delphi 7, bin da doch ein bisserl altertümlich 8)
Hmm ich durchkämme grad das SearchSDK, was wie ich glaube auch gerade deine Antwort wiederlegt Zitat"dass man zur Suche kein SQL benötigt"

Weil dort gibt es ein Beispiel, leider sind meine C Kenntnisse mehr als mager aber kuckst Du ein Auszug aus den Parametern des CmdApps:

Console.WriteLine("wssql <SQL query> [<Chapter Depth>]");
Console.WriteLine("\n<SQL query> will be sent to Windows Search and results returned.");
Console.WriteLine(" Example queries: ");
Console.WriteLine(" SELECT System.ItemName FROM SystemIndex");
Console.WriteLine(" SELECT System.ItemName FROM SystemIndex");
Console.WriteLine(" WHERE contains(*, 'dance*') AND System.Kind = 'email'");
Console.WriteLine(" GROUP ON System.Kind AGGREGATE Count() ");
Console.WriteLine(" OVER (SELECT System.Kind, System.ItemName from SystemIndex)");
Console.WriteLine("\n<Chapter Depth> ");
Console.WriteLine(" Recursion depth when expanding chapters for GROUP ON queries.");
Console.WriteLine(" 0 = stop at first chapter, 1 = stop at second chapter, etc.");
Console.WriteLine(" By default all chapters are expanded.")

Also vermute ich mal, muss man Doch das Query übergebem? Was wohl passiert wenn ich den QueryHelper mal ganz aussen vor lasse?
  Mit Zitat antworten Zitat