![]() |
Ararat Synapse und Nextgen Compiler
Hi,
hat jemand das Projekt eigentlich jemals unter XE4 oder 5 kompilieren können? Da sind so viele Passagen die berechtigterweise Ansistring und AnsiChar verwenden und den Typ gibts ja für den iOS und Android Compiler ja nicht mehr. Der Hintergrund ist, dass ich ein größeres auf UDP aufbauendes Projekt portieren möchte und das halt Synapse nutzt. Ich finde auch nirgends einen neueren Trunk. Peter |
AW: Ararat Synapse und Nextgen Compiler
Liste der Anhänge anzeigen (Anzahl: 1)
Ich mache mal den Anfang mit der ssposix.inc.
Da ist noch so viel was fehlt :( |
AW: Ararat Synapse und Nextgen Compiler
Hallo,
ich habe vor geraumer Zeit angefangen das Synapse zu portieren. Da Delphi leider die AnsiString und AnsiChar Unterstützung gestrichen hat muss man auf MarshalledAString zurückgreifen. Und der Helperklasse TMarshal. In den meisten Fällen ist das aber nicht notwendig, du musst bei der Übersetzung auch nicht zwingend alle Units angehen, da verliert man schnell mal die Lust. Fange mit dem an, was du brauchst und hangel dich dann weiter. Zugegeben auf den ersten Blick erschlagen dich die ganzen Ansistring und AnsiChar Sachen, aber un den meisten Fällen reicht es da ein Char und String draus zu machen. Die paar Routinen welche zwingend mit PAnsiChar arbeiten kann man sich ja mit nem Kommentar (in SynaUtils sind das einige) markieren und dann im Zweifel umschreiben. Bei der Androidübersetzung fehlen ein paar Dinge, entweder weil es die nicht gibt - oder aber weil man es vergessen hat: - Posix.SysSocket.SOCK_RDM (=4) fehlt - AF_MAX ist auch nicht definiert. Das ist Systemabhängig und laut FPC wäre das 38? Auch mag er __s6_addr8 nicht in SET_LOOPBACK_ADDR6, obwohl das in dem record eigentlich liegt. Da kann man aber s6_addr nehmen. Bis jetzt hab ich nur ein paar Units übersetzt und da wird es auch Fehler geben, ich teile das Ergebnis aber gerne. |
AW: Ararat Synapse und Nextgen Compiler
Schön ist es nicht geworden, aber es geht:
![]() Ich denke mal eine saubere Lösung impliziert ein komplettes umschreiben des Codes. |
AW: Ararat Synapse und Nextgen Compiler
Ich hoffe deinen Änderungen werden auch ins SVN-Repository aufgenommen.
Ansonsten besteht die Gefahr das es Bald 1000 inkompatible halbfertige Anpassungen gibt und das Ende von Synapse damit eingeläutet wird. |
AW: Ararat Synapse und Nextgen Compiler
Naja ich kann verstehen, wenn es nicht einfließt ;) Ich brauchte das ganze für ein größeres Projekt für Android und ehrlich gesagt hab ich den Kompromiss gewählt alle Ansistrings in Strings umzuwandeln und bei den neuralgischen Punkten das ganze in Ansi zu konvertieren. Das geht zwar recht gut, aber besonders schick finde ich die Lösung auch nicht und ehrlich gesagt würde mir eine komplette Umstrukturierung auf PByte oder PByteArray eher gefallen. Das kommt aber einem kompletten Neuschreiben des Projektes gleich und da Freepascal nicht diesen "Quatsch" mit dem Entfernen von PAnsiChar und einführen eines MarshaledAString begeht lohnt sich das wohl für den Autor nicht. Schaut man sich die system.pas genauer an, wundert man sich sowieso warum das überhaupt gemacht wird.
|
AW: Ararat Synapse und Nextgen Compiler
Ararat?
Ich habe angefangen das PDF Tool von Synapse umzusetzen... Bin aber noch nicht weit... Hat sich da sonst schon jemand dran gegeben? Ist das das Selbe? Mavarik |
AW: Ararat Synapse und Nextgen Compiler
Nein ;)
synopse <> synapse ![]() ![]() |
AW: Ararat Synapse und Nextgen Compiler
Ich weiß der Thread ist hornalt, aber ich wollte nur kurz darüber Informieren das ich meine über die Jahre angepasste Version der Synapse TCP Bibliothek auf
![]() Christian |
AW: Ararat Synapse und Nextgen Compiler
Ich habe 2 kleine Probleme in dem Code behoben. SIGSEVS werden jetzt abgefangen und führen nicht mehr zum Beenden der Anwendung unter Posix Systemen. Außerdem gab es ein Problem bei HTTP, wenn Content-Length nicht angegeben wird.
Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz