![]() |
Re: Von Com-Port zum WinAmp-Player
Zitat:
Tja, dann wären mehr infos oder Source echt hilfreich. (Wobei ich ersteres bevorzugen würde ;) ) |
Re: Von Com-Port zum WinAmp-Player
Also, ich habe halt völlig ahnungslos den Code im Internet gesucht, der mir an einfachsten erschien.
Also habe ich von hier ![]() Dann noch diese Komponente installiert und soweit bin ich jetzt... Ich suche halt nur die einfachste Möglichkeit den COM-Port abzufragen. An dem kommt alle 500ms eine Zahl zwischen 0-16 an, dahinter vielleicht noch was zum erkennen, dass die Nachricht zu Ende ist. Diese Zahl hätte ich danach ganz gerne in einer Variable, mehr nicht... bin für alles offen :-D Gruß Denis |
Re: Von Com-Port zum WinAmp-Player
Ich denke, wir haben uns falsch verstanden ;)
Relevante Informationen für das derzeitige Problem wären bspw. wo der Fehler auftritt, und welcher Bezeichner unbekannt ist. Wenn ich mir den Code im DF angucke, denke ich, dass es sein könnte (ich bin vorsichtiger mit meinen Fehleranalysen geworden ^^), dass nicht Port selbst, sondern die Paramterübergabe das Problem darstellt. Aber am besten einfach mal den Code posten, wo der Fehler auftritt ;) |
Re: Von Com-Port zum WinAmp-Player
Hallo,
also der Fehler tritt hier auf: if 1 = 1 then machwas2(port: TSerialPortNG); Das hat mir ein Feund so empfohlen, im Originaltext steht nur machwas2(port: TSerialPortNG); Ruft aber halt beides die selbe Fehlermeldung auf, obwohl es ja nur aus einem angeblich funktionierenden Quellcode kopiert wurde... Gibt es vielleicht Probleme, weil ich noch Delphi 5 nutze? Gruß Denis |
Re: Von Com-Port zum WinAmp-Player
Hi Denis
Zitat:
Wenn du eine Prozedur/Funktion deklarierst, schreibst du das mit procedure Name(Parameter: Typ; Parameter: Typ); Hingegen beim Aufrufen einer Prozedur/Funktion müssen nur mehr die Parameter übergeben werden: Name(Variable, Variable); Damit brauchst du nur noch aufzurufen:
Delphi-Quellcode:
Natürlich musst du port irgendwo als Variable vom Typ TSerialPortNG definiert haben :)
machwas2(port);
|
Re: Von Com-Port zum WinAmp-Player
Klar liegt der Fehler bei mir, hät ich nicht anders erwartet, Programme sind schließlich perfekt ;-)
Also, ich kann deinen Erläuterungen folgen, muss sie aber falsch verstanden haben, denn ich bekomme kein Ergebnis zustande. Nochmal mein kompletter Code, könnt mir vielleicht jemand mit Rotstift editieren was falsch ist, die Fehlermeldung ist immer noch die gleiche in Zeile 41 "undefinierter Bezeichner" Tut mir Leid das ich mich so blöd anstelle... Gruß Denis
Delphi-Quellcode:
unit rs232;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, SerialNG, StdCtrls; type TForm1 = class(TForm) SerialPortNG1: TSerialPortNG; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Label2Click(Sender: TObject); procedure machwas2(port: TSerialPortNG); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; port: TSerialPortNG; implementation {$R *.DFM} procedure machwas; begin // schnittstelle aufmachen port := TSerialPortNG.Create(nil); // objekt kerstellen try port.CommPort := 'COM1'; // comport einstellen port.BaudRate := 9600; // baud-rate einstellen port.Active := true; // schnittstelle öffnen machwas2(port:); finally // schnittstelle zumachen port.Active := false; freeandnil(port); end; end; procedure machwas2(port: TSerialPortNG); var text: String; begin text := 'Hallo'; port.SendString(text + #11); end; end. |
Re: Von Com-Port zum WinAmp-Player
Einmal das:
Zitat:
Du hast keine forward-deklaration deiner Funktionen, soll heißen: Der Compiler kennt die funktion erst, ab wann sie deklariert wurde. soll heißen:
Delphi-Quellcode:
Was man dagegen tun kann?
procedure machwas;
//code.... //Hier ist aber machwas2 noch unbekannt procedure machwas2(port: TSerialPortNG); //erst ab hier ist sie dem compiler bekannt 2 Möglichkeiten
PS: Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 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