Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi VCL-Komponente in Konsolenanwendung?!? (https://www.delphipraxis.net/112045-vcl-komponente-konsolenanwendung.html)

darkdonald 14. Apr 2008 11:55


VCL-Komponente in Konsolenanwendung?!?
 
Hallo!

Ich habe folgendes Problem. Ich möchte in einer Konsolenanwendung (soll später ne DLL werden), die Soundkarten-Lautstärken auslesen und verändern. Ich benutze die TAudioMixer-Komponente (--> hier). Wenn ich das ganze mit einer normalen VCL-Anwendung versuche, klappt alles bestens. In meiner Konsolenanwendung dagegen, kriege ich immer Zugriffsverletzungen.

Ist es denn überhaupt irgendwie möglich (evtl. über irgendwelche Umwege?), VCL-Komponenten in einer Konsolenanwendung zu benutzen??


Ich hoffe, jemand weiss Rat.

Gruss
Donald

SirThornberry 14. Apr 2008 11:57

Re: VCL-Komponente in Konsolenanwendung?!?
 
ist ist ohne probleme möglich auch in consolenanwendungen objecte und VCL-Klassen zu verwenden. Eine Zugriffsverletzung deutet eher darauf hinn das du ein Object nicht instanzierst. Aber ohne Quelltext ist alles nur ein großes Rätzelraten.

Muetze1 14. Apr 2008 12:00

Re: VCL-Komponente in Konsolenanwendung?!?
 
Zitat:

Zitat von SirThornberry
ist ist ohne probleme möglich auch in consolenanwendungen objecte und VCL-Klassen zu verwenden.

Ausser sie setzen ein Fenster voraus, u.a. über den Handle des Parents, zur Botschaftsbehandlung. Die Sockets erstellen dazu global ein unsichtbares Fenster, aber viele andere Komponenten haben nicht einen solchen Notfallcode zur Hand.

darkdonald 14. Apr 2008 12:03

Re: VCL-Komponente in Konsolenanwendung?!?
 
Wow, super schnelle Antwort :)

Selbst diese super-kleine Programm funktioniert ned, obwohl es das eigtl. sollte^^

Wo könnte der Fehler liegen?



program volumecontrol;

{$APPTYPE CONSOLE}
uses SysUtils, AMixer;

var Mixer : TAudioMixer;

begin
Mixer.MixerId := 0;
end.

mkinzler 14. Apr 2008 12:05

Re: VCL-Komponente in Konsolenanwendung?!?
 
Grundlagen OOP: Auf nicht-instantiierte Objekte kann man nicht zugreifen!
[Edit: Tippelfehler; Danke an Muetze1]

darkdonald 14. Apr 2008 12:14

Re: VCL-Komponente in Konsolenanwendung?!?
 
Hm, ok, ich muss zugeben, ich beschäftige mich noch nicht allzu lange mit Delphi. Aber aus Fehlern lernt man ja bekanntlich^^

Habe ich das Objekt nicht schon hiermit instantiert?:
var Mixer : TAudioMixer;

Oder habe ich da gerade ein kleines Verständnisproblem?

mkinzler 14. Apr 2008 12:16

Re: VCL-Komponente in Konsolenanwendung?!?
 
Zitat:

Habe ich das Objekt nicht schon hiermit instantiert?:
Nein, du hast nur eine Referenzvariable (Zeiger) deklariert.
Delphi-Quellcode:
Mixer := TAudioMixer.Create(...);

darkdonald 14. Apr 2008 12:24

Re: VCL-Komponente in Konsolenanwendung?!?
 
OMG! Es kann so verdammt so einfach sein. Naja, bin noch OOP-Einsteiger. Hatte bis jetzt hauptsächlich mit dem alten Turbo-Pascal zu tun^^

Vielen Dank für die Hilfe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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