AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Auf XE3 programmiert, auf 5 solls laufen.
Thema durchsuchen
Ansicht
Themen-Optionen

Auf XE3 programmiert, auf 5 solls laufen.

Ein Thema von Getox · begonnen am 7. Jan 2013 · letzter Beitrag vom 8. Jan 2013
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 11:19
Ja ich wurde auch schon drauf hingewiesen, dass ich einige fehlerhafte Properties in meinem Stringgrid habe...
Normalerweise löscht man die dann aus der DFM und gut is'.
Und vergisst das bei jeder 5ten Lieferung. Ein Quell von Fehlermeldungen die man übersieht.
Solche Händischen Aktionen welche nicht durch einfache Compilierungen offensichtlich werden wird man sehr oft übersehen bzw. verursachen letztendlich realtiv viel Zeitaufwand.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 12:10
OK... hab jetzt alles Weggelöscht.. also "VCL." und so weiter... und dann DAS:

[Fatal Error] SQLiteTable3.pas(1): Line too long (more than 1023 characters)

Der Tag fängt wundervoll an... Ja das ist eine Datei aud dem SQLite Wrapper.
Wenn es sich um eine Const handelt könntest Du damit erfolgreicher sein:
Delphi-Quellcode:
const
cMyText='bla bla max 255?'+
        'bla bla max 255?'+
        'bla bla max 255?'
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#13
  Alt 7. Jan 2013, 12:19
Ich habe jetzt mit Hilfe den Wrapper so hinbekommen, dass die Zeilen nicht mehr zu lang sind.

Das hatte mit dem Format der Quelldatei zu tun... Da gibt es ja irgendwie #13 und #10. Linux benutzt nur eins, Mac das andere und Windows beide um Absätze zu machen (wenn ich es richtig verstanden habe).

Das habe ich im Notepad++ geändert bekommen (Bearbeiten -> Format Teilenende -> Konvertiere zu Windows(CR + LF)).

Nun habe ich auch noch Unterstützung bekommen, indem mein Wrapper von SQLite noch zum Teil umgeschrieben wurde und ich begebe mich jetzt auf die Suche nach UTF8Encode() für Delphi5. Mal sehen, ob ich da fündig werde. Wenn ich noch ein Problem habe, werde ich wieder schreiben

Danke aber vorerst, dass ihr euch mit meinem Problem auseinandersetzt.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 12:26
... und ich begebe mich jetzt auf die Suche nach UTF8Encode() für Delphi5 ...
In der JCL (AFAIK JclUnicode.pas) gibts da was.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#15

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 14:36
So... ich habe nun herausgefunden, dass JCL wohl was "Externes" ist, dass man zusätzlich installieren muss. nach einiger Zeit habe ich nun auch geschafft eine JCL Version zu besorgen, welche mit Delphi5 Läuft. JVCL 3.37 war wohl die letzte Version die unter Delphi5 lief und darin war auch ne funktionierende Version von JCL.

Jetzt bin ich aber leicht verwirrt mit dem ganzen String, WideString, UTF8 und keine Ahnung. Mit diesem Thema habe ich mich nicht ganz befasst.

Ich habe nun in meiner Datei vom SQL Wrapper erstmal die JclUnicode unter USES hinzugefügt und bin nun an der Stelle an der vorher stand:

Delphi-Quellcode:
function StrToUTF8(const S: WideString): AnsiString;
begin
  Result := UTF8Encode(S);
end;
Die Funktion UTF8Encode gib es nicht und will ich ja durch die entsprechende Funktion der JCL ersetzen. Aufgrund mangelnden Wissens, was diese ganzen Textformate angeht, stehe ich etwas aufm Schlauch. Welche Funktion aus der JCLUnicode ist denn die, welche ich benötige?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 14:55
Denke nochmal über den Tipp von Uwe nach (Projekt im Rahmen von D5 neu aufsetzen).

Vielleicht kannst Du auch irgendwo ein günstiges D2009 bekommen - dort wäre zumindest schon Unicode mit dabei (wenn Du es wirklich brauchst).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#17

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 15:03
Das Problem vor dem ich stehe, dass ich mit SQLite arbeite. Dafür nutze ich einen Wrapper und der geht nur mit diesem Unicodegedöns.

Wenn ich das Programm neu schreibe, kann ich aus diesem Grunde immernoch keine Datanbank anlegen, benutzen oder sonst was...
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 22:42
Warum soll es denn eigentlich auf D5 laufen? Aus Kostengründen? In XE3 schien ja alles gut geklappt zu haben. Klang oben zumindest so. Für die Stunden, die Du jetzt mit dem rumgefrickel Zeit verlierst, kannst Du Dir auch XE3 Pro zulegen.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 23:03
Dafür nutze ich einen Wrapper und der geht nur mit diesem Unicodegedöns.
SQLite ist nunmal ein DBMS das die Daten in so einem Uniocdegedöns ablegt

Ach ja: Müsste nicht ZEOS auch SQLite unterstützen? Ist evtl. einfacher damit zu arbeiten. Die Frage ist nur ob du die neustes Version noch verwenden kannst oder auf Alte Version zurückspringen musst.


Kannst du nicht mindestens auf D7 hochgehen? Diese müsste noch von mehr Bibliotheken unterstützt werden so das du keine Antiken Versionen einsetzen musst.
Windows Vista - Eine neue Erfahrung in Fehlern.

Geändert von Bernhard Geyer ( 7. Jan 2013 um 23:06 Uhr)
  Mit Zitat antworten Zitat
EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#20

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 23:47
Soweit ich weiß haben wir alle defines in Zeos7 für Compiler, älter als D7 rausgeschmissen. Außerdem ist ist das UTF8Encode/UTF8Decode da auch schon überall drin.

Es gab da eine kurze Absprache, ob irgendwer noch Interesse an solchen Compilern haben könnte. Das gleiche Spiel mit FPC2.2../Kylix

Mit 6.6.6 könnte das alles noch gehen, du bräuchtest jedoch irgendwelche UTF8 oder WideString Componenten wie TNT o.ä..

Altenativen für:

uses windows;

UTF8Decode

Delphi-Quellcode:
function AnsiToWide(const S: AnsiString): WideString;
var
  l: Integer;
begin
  l := MultiByteToWideChar(CP, 0, PAnsiChar(@s[1]), - 1, nil, 0); //Checkout the Result-Lengh
  if l = 0 then Exit;
  SetLength(Result, l - 1);
  MultiByteToWideChar(65001, 0, PAnsiChar(@s[1]),
    - 1, PWideChar(@Result[1]), l - 1); //Convert Ansi to Wide with supported Chars
end;
UTF8Encode:

Delphi-Quellcode:
function WideToAnsi(const ws: WideString): AnsiString;
var
  L: Integer;
begin
  l := WideCharToMultiByte(65001,0, @ws[1], - 1, nil, 0, nil, nil); //Checkout the result length
  if l = 0 then Exit;
  SetLength(Result, l - 1); //SetResult Length
  WideCharToMultiByte(65001,0, @ws[1], - 1, @Result[1], l - 1, nil, nil); // Convert Wide down to Ansi
end;
Du kannst die CP65001(UTF8) auch mit 1252 austauschen (dann aber dwFlags anstatt 0 mit WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR austauschen), somit WideToAnsi oder AnsiToWide erstellen, was deine Controls dann darstellen können.

Habe das alles so bei Zeos reingebröselt und funzt wunderbar. Jedoch werden unter CP1252 alle nicht unterstützen Bytesequenzen zu '?' umgewandelt.

Gruß Michael

Geändert von EgonHugeist ( 8. Jan 2013 um 00:33 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz