Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [gelöst] Delphi 5 zu 2009 und Cassy? (https://www.delphipraxis.net/133310-%5Bgeloest%5D-delphi-5-zu-2009-und-cassy.html)

jesaa 29. Apr 2009 14:34


[gelöst] Delphi 5 zu 2009 und Cassy?
 
Guten Tag allerseits

Ich versuche für ein Cassy eine Anwendung zu Programieren, die mir verschieden Timersignale, und Spannungssignale ausliest und später mal in einen Graphen umsetzt.

Das mit dem auslesen der Timer- und Spannungssignale Funktionierte auch unter Delphi 5.
Wenn ich aber veruche das ganze in Delphi 2009 umzusetzen funktioniert das nicht.

Von Leybold (den Herstellern des Cassys) gibt es eine Komponete mit der man das Cassy mit Delphi ansteuern kann.
Diese Komponente (.bpl) benötigt rtl und vcl. Die Installation bei Delphi 5 funktionierte anstandslos, während bei Delphi 2009 es erst funktionierte als ich die .dcu datein in das verzeichnis imports kopiert hatte.

Das Problem liegt wahrscheinlich in der Kommunikation mit dem Cassy(die erfolgt per USB). Die Anwendung die ich mit Delphi 5 Compiliert habe funktioniert, und bestätigt das ein Cassy gefunden wurden.
Wenn ich den selben Quellcode (der von mir stammt) auf Delphi 2009 Compiliere, dann scheint er das Cassy nicht zu finden.

Ich hab inzwischen die .dcu dateien da wieder raus gelöscht, um die komponetnte noch mal komplett nue zu installieren. Das funktioniert allerdings inzwischen auch nicht mehr, da anscheinend die system.pas fehlt ... (ist aber in sourc/win32/rtl/sys vorhanden).
[edit] Das mit der system.pas hat sich erledigt, hatte sie ausversehn mit dem lib ornder in den Papierkorb verschoben ... desweiteren hatte ich die dcu's in eben jenen ordner kopiert[/edit]

Ich bin für jegliche Ideeen und ansätze offen

Danke Jesaa

mkinzler 29. Apr 2009 14:37

Re: Delphi 5 zu 2009 und Cassy?
 
Dcu sind (Delphi-)versionsabhängig. Laut Beschreibung liegt aber auch Delphisource vor

jesaa 29. Apr 2009 14:48

Re: Delphi 5 zu 2009 und Cassy?
 
Soweit ich das verstanden hab, baut sich das Delphi aus der .bpl datei selber die .dcu's ... ich hatte die .bpl datei Comiliert (und dannach installiert), danach waren die dcu's da und die hab ich dann genommen.

mkinzler 29. Apr 2009 14:51

Re: Delphi 5 zu 2009 und Cassy?
 
Bpls sind auch versionsabhängig. Du musst das/die dpks öffenn und installuieren, dann erzeugt er die passenden dcus, bpl, dcp.

jesaa 29. Apr 2009 14:58

Re: Delphi 5 zu 2009 und Cassy?
 
Sorry mein Fehler ... ich hab die dpk genommen, compiliert und installiert ... das ergbnis is das die dcus usw. in dem verzeichnis liegen wo die dpk drinn lag.
Die dcus die beim Compilieren entstanden sind, hatte ich testweise dann mal in das lib verzeichis Kopiert, damit kannte er dann zwar die units, aber nach dem Compilieren des ganzen Programms was ich gescreiben habe trat oben genanter fehler mit dem Cassy auf.

OldGrumpy 29. Apr 2009 16:59

Re: Delphi 5 zu 2009 und Cassy?
 
Mit D2009 haben sich die Basistypen geändert, String ist jetzt z.B. standardmäßig ein Widestring. Gehe den Source der Cassy-Komponente durch und ändere Char/String zu AnsiChar/AnsiString usw. - dann müsste es wieder funktionieren.

jesaa 13. Mai 2009 13:57

Re: Delphi 5 zu 2009 und Cassy?
 
Danke für den hinweis, so wie der Code aussieht scheint das genau daran zu liegen.
Ich weis allerdings nicht was ich mit funktionen wie chr() machen soll. Hier ist die Funktion anscheined ein für WideChars gedacht, und kannn nicht mit AnsiChars. Kenn ihr eine alternative?
Änlich is es bei der funktion Write(Ansichar,integer). Hier ist er der meinung das da unkompatible typen wären (Array nad PwideChar)
Ansonsten treten noch einige warungen auf, die einen:
"[DCC Warnung] cassyserial.pas(1332): W1057 Implizite String-Umwandlung von 'AnsiString' zu 'string'"
bei einem AnsiPos(' ',Ansistring), und bei einem Error.crate.

OldGrumpy 13. Mai 2009 14:39

Re: Delphi 5 zu 2009 und Cassy?
 
Da muss man im Einzelfall ggf. etwas tricksen und mit Bytes und expliziten Typecasts arbeiten. Kannst Du mal Deinen aktuellen Stand zusammenpacken und hier im Thread anhängen? Dann schau ich mal rein.

jesaa 16. Mai 2009 10:40

Re: Delphi 5 zu 2009 und Cassy?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo noch mal

Ich hab den ganzen Ordner mit den Dateien mal gepakt und angehangen.
Ich hoffe da ist alles dabei was du brauchst. Es ist nicht ganz aktuell (ich hab noch eine oder 2 Funktionien in die Ansivariante umbenatnt gehabt) aber an den aktuellen Stand komm ich im Moment nicht ran.

Jesaa

jesaa 10. Jun 2009 14:04

Re: Delphi 5 zu 2009 und Cassy?
 
Hallo noch mal
Also ich hab das Problem jetzt soweit reduziert, das ich alles auf ansi umgestellt habe, und nun nur noch an der Funktion CreateFile() scheitere. Laut Dokumentation nimmt diese Funktion nur WideChars, bzw. WideStings, wobei ich mir nicht ganz im klaren bin, ob die Dokumentation mit der anwendung der funktion übereinstimmt.

Die funktion sieht so aus:

Delphi-Quellcode:
CreateFile(PAnsiChar(FDevicePath), GENERIC_READ Or GENERIC_WRITE, 0 (*FILE_SHARE_READ Or FILE_SHARE_WRITE*), Nil, OPEN_EXISTING,
                                                     FILE_ATTRIBUTE_NORMAL Or FILE_FLAG_OVERLAPPED, 0);
währen in der doku Steht:

Delphi-Quellcode:
constructor CreateFile(AOwner: TComponent; ReqFile: string; RespFile: string); overload;
vieleicht hat ja jemand ne idee wir ich die Funktion dazu bekomme alle arbeit in Ansi abzuleisten?

Gruß

Jesaa

[Edit] Hab gerade festgestellt, das es anscheinend 2 versionen von CrateFile gibt. Die die hier verwendet wird steht wohl in "Windows" (auch wenn ich mir nicht ganz klar bin was das zu heisen hat), während die andere Delphieigen zu sein schein.[/Edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Seite 1 von 2  1 2      

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