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