Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Hat jemand LibTidy erfolgreich in Gebrauch?

  Alt 6. Jul 2015, 13:00
Hallo!

Ich ärgere mich gerade mit libtidy.dll und den dazu gehörigen Delphi-Headern herum.

Die libtidy ist nun schon 6 Jahre alt und die Delphi-Header noch mal 2 Jahre mehr. War ja klar dass das nicht rund laufen würde. Nur so viel Gezicke hätte ich dann doch nicht erwartet...

Hier erstmal mein Test-Code:
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
  input, output: PChar;
  errbuf: TidyBuffer;
  rc: Integer;
  ok: Boolean;
  tdoc: TidyDoc;
  dummy: Cardinal;
begin
  input:= PChar(Memo1.Lines.Text);
  tdoc:= tidyCreate;
  try
    ok:= tidyOptSetBool(tdoc, TidyIndentSpaces, TRUE);
    if ok then
      rc:= tidySetErrorBuffer(tdoc, errbuf);
    if rc >= 0 then
      rc:= tidyParseString(tdoc, input); // <-- Anwendung beendet ohne Fehlermeldung
    if rc >= 0 then
      rc:= tidyCleanAndRepair(tdoc);
    if rc >= 0 then
      rc:= tidyRunDiagnostics(tdoc);
    if rc >= 0 then
      ok:= tidyOptSetBool(tdoc, TidyForceOutput, TRUE);
    if not ok then
      rc:= 1;
    if rc >= 0 then
      rc:= tidySaveString(tdoc, output, dummy);
    if rc >= 0 then
      Memo2.Lines.Text:= output;
  finally
    tidyRelease(tdoc);
  end;
end;
Die Funktion tidyParseString zieht der Testanwendung die Füße weg, beendet das Programm ohne weitere Fehlermeldungen etc. Auf x64 dreht sich auch kein Rad, logisch weil die libtidy.dll nur in 32 Bit vorliegt.

Also bevor ich da viel Arbeit rein stecke mal die Frage in die Runde: Hat irgendwer libtidy derzeit erfolgreich in einem Delphi-Projekt am Start?

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat