![]() |
AW: Seltsames verhalten mit Units DC
Und dein Mixer-Projekt hat keine Projekt-Datei (*.dpr/*.dproj)?
Ich sehe dort auch kein
Delphi-Quellcode:
oder ein
implementation
Delphi-Quellcode:
in deinem Code-Schnipsel, somit ist das weit entfernt von komplett.
end.
Also bitte ein komplettes Beispiel (wohl am besten in einer zip-Datei). |
AW: Seltsames verhalten mit Units DC
Zitat:
Mein bestreben war nur das verhalten mitzuteilen ich muss hier nichts beweisen. Wie ich schon sagte mir ist es egal. Aber hier dein implementation und end Beispiel.
Delphi-Quellcode:
Ich schreibe bestimmt jetzt keine neue Anwendung extra für dich sorry..
{ ' UNIT uMain.pas
'--------------------------- uMain ----------------------------- ' Sample for SKAero API Module.. Main Application ' Copyright © 2018 BrewIdeas@Emil Weiss, All Rights Reserved ' ' Author(s) of this Unit: Emil Weiss ' '---------------------------------------------------------------------------- } unit uMain; interface {$R '_resources\Mixer.res' '_resources\Mixer.rc'} {$IFDEF WIN64} {$R '_resources\Manifest64.res'} {$ELSE} {$R '_resources\Manifest.res'} {$ENDIF} {$REGION 'Uses'} uses Classes, Windows, Messages, ShellApi, CommCtrl, StrUtils, ShlObj, SysUtils, SKAeroAPI, ActiveX, uGlobal, Graphics, uControls, uIni, Dialogs, mmsystem, AudioVolume, StdCtrls, MMDevice, Math, SimpleAudioVolume, AudioSessionControl, AudioSessionControl2, ProcessList; {$ENDREGION} {$REGION 'Functions / Procedures'} function WinMain(hInstance: HINST; hPrevInstance: HINST; lpCmdLine: PChar; nCmdShow: integer) : LRESULT; stdcall; procedure DetectBackground; function WndProc(WinHandle: HWND; Msg: UINT; wP: WParam; lP: LParam): LRESULT; stdcall; procedure PlaySoundSlide; procedure PlaySoundPush; procedure PlaySoundBlup; // AudioVolume {$ENDREGION} // TMainClass {$REGION 'TMainClass'} type TMainClass = class procedure MasterDefaultDeviceChange(NewDefaultDevice: TDeviceInfo); procedure MasterDeviceStateChange(DeviceId: string; NewDeviceState: Cardinal); procedure MasterVolumeEvent(Volume: Single; Mute: Boolean); procedure AudioVolumeInitialize; function CreateHBitmapFromImg(Img: LONG_PTR; var imgW, imgH: integer): HBitmap; procedure CreateMasterIcon(x, y: integer; IconHandle: UINT = 0); procedure CreateSessionIcon(Index: integer; x, y: integer; IconHandle: UINT = 0); function CreateImgFromIcon(wsFile: WideString; IconHandle: UINT = 0): LONG_PTR; procedure CreateSession; function GetHIconFromFile(AFileName: String; ASmall: Boolean = false; AIndex: integer = 0) : HICON; procedure SessionCreated(const NewSession: IAudioSessionControl); procedure SessionDisconnectedEvent(Sender: TCustomAudioVolume; DisconnectReason: UINT); procedure SessionStateEvent(Sender: TCustomAudioVolume; NewState: integer); procedure SessionVolumeEvent(Sender: TCustomAudioVolume; Volume: Single; Mute: Boolean); procedure PropertyIconChanged(IconPath: string); procedure ShowOutputAttribute; procedure RemovefromList(DeviceId: string); private OldMute: Boolean; { private-Deklarationen } OldSessionMute: Boolean; SimpleVolume: ISimpleAudioVolume; tmpAudioVolume: TAudioVolume; public { public-Deklarationen } DeviceName: string; Hint: WideString; end; {$ENDREGION} {$REGION 'Global Variable'} var MainClass: TMainClass; // MyThread: TSessionThread; bMyVolSet: BOOL; bAttribute: BOOL; AudioVolume1: TAudioVolume; AudioVolumeArr: array of TAudioVolume; GotChannelCount: Boolean = false; ChannelCount: UINT; Peaks: array of Single; lRes: integer; Restart: BOOL; m_Initialize: BOOL; Second: DWORD; {$ENDREGION} implementation // Animation {$REGION 'RenderClock'} procedure RenderClock; var Tick: DWORD; begin Tick := GetTickCount; if (Second = 0) then Second := Tick + 1000; if (Tick > Second) then begin Second := 0; gSprBackground.GD_SetObjectTextEx(ID_TIME_FRONT, PWideChar(TimeToStr(Now)), true); end; end; {$ENDREGION} // Sound {$REGION 'Sound'} Könnte das end. jetzt noch anhängen aber 45K hier rein zu klatschen wäre Schwachsinn. gruss |
AW: Seltsames verhalten mit Units DC
Ich denke mal du verstehst den Begriff komplett nicht.
Komplett bedeutet minimal eine *.dpr und eine *.dproj Datei. Eine wilde Anwendung ist da gar nicht notwendig, sondern eher mit ein paar Klicks erledigt. Beispiel: mcve.dproj
XML-Code:
mcve.dpr
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <Base>True</Base> <AppType>Console</AppType> <Config Condition="'$(Config)'==''">Debug</Config> <FrameworkType>None</FrameworkType> <MainSource>mcve.dpr</MainSource> <Platform Condition="'$(Platform)'==''">Win32</Platform> <ProjectGuid>{D051179F-2FDA-4DF0-B901-0DEBE384F9E6}</ProjectGuid> <ProjectVersion>18.4</ProjectVersion> <TargetedPlatforms>1</TargetedPlatforms> </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''"> <Base_Win32>true</Base_Win32> <CfgParent>Base</CfgParent> <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> <Cfg_1>true</Cfg_1> <CfgParent>Base</CfgParent> <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''"> <Cfg_1_Win32>true</Cfg_1_Win32> <CfgParent>Cfg_1</CfgParent> <Cfg_1>true</Cfg_1> <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> <Cfg_2>true</Cfg_2> <CfgParent>Base</CfgParent> <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Base)'!=''"> <SanitizedProjectName>mcve</SanitizedProjectName> <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput> <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput> <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)</DCC_Namespace> <DCC_UsePackage>RESTComponents;FireDAC;FireDACSqliteDriver;soaprtl;FireDACIBDriver;soapmidas;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;$(DCC_UsePackage)</DCC_UsePackage> </PropertyGroup> <PropertyGroup Condition="'$(Base_Win32)'!=''"> <BT_BuildType>Debug</BT_BuildType> <DCC_ConsoleTarget>true</DCC_ConsoleTarget> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> <DCC_UsePackage>DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;vcltouch;vcldb;bindcompfmx;svn;FireDACPgDriver;inetdb;DbxCommonDriver;fmx;fmxdae;xmlrtl;fmxobj;vclwinx;rtl;DbxClientDriver;fdk;CustomIPTransport;vcldsnap;IndyCore;dbexpress;vclx;bindcomp;appanalytics;dsnap;TDD.Lib;IndyIPClient;bindcompvcl;VCLRESTComponents;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;fmxase;$(DCC_UsePackage)</DCC_UsePackage> <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150> <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> <VerInfo_Locale>1033</VerInfo_Locale> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_1)'!=''"> <DCC_DebugDCUs>true</DCC_DebugDCUs> <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames> <DCC_Optimize>false</DCC_Optimize> <DCC_RemoteDebug>true</DCC_RemoteDebug> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''"> <DCC_RemoteDebug>false</DCC_RemoteDebug> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_2)'!=''"> <DCC_DebugInformation>0</DCC_DebugInformation> <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> </PropertyGroup> <ItemGroup> <DelphiCompile Include="$(MainSource)"> <MainSource>MainSource</MainSource> </DelphiCompile> <BuildConfiguration Include="Base"> <Key>Base</Key> </BuildConfiguration> <BuildConfiguration Include="Debug"> <Key>Cfg_1</Key> <CfgParent>Base</CfgParent> </BuildConfiguration> <BuildConfiguration Include="Release"> <Key>Cfg_2</Key> <CfgParent>Base</CfgParent> </BuildConfiguration> </ItemGroup> <ProjectExtensions> <Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.ProjectType>Application</Borland.ProjectType> <BorlandProject> <Delphi.Personality> <Source> <Source Name="MainSource">mcve.dpr</Source> </Source> </Delphi.Personality> <Deployment Version="3"> <DeployFile LocalName="Win32\Debug\mcve.exe" Configuration="Debug" Class="ProjectOutput"> <Platform Name="Win32"> <RemoteName>mcve.exe</RemoteName> <Overwrite>true</Overwrite> </Platform> </DeployFile> <DeployClass Name="AdditionalDebugSymbols"> <Platform Name="Win32"> <RemoteDir>Contents\MacOS</RemoteDir> <Operation>0</Operation> </Platform> </DeployClass> <DeployClass Name="DebugSymbols"> <Platform Name="Win32"> <Operation>0</Operation> </Platform> </DeployClass> <DeployClass Name="DependencyFramework"> <Platform Name="Win32"> <Operation>0</Operation> </Platform> </DeployClass> <DeployClass Name="DependencyModule"> <Platform Name="Win32"> <Operation>0</Operation> <Extensions>.dll;.bpl</Extensions> </Platform> </DeployClass> <DeployClass Required="true" Name="DependencyPackage"> <Platform Name="Win32"> <Operation>0</Operation> <Extensions>.bpl</Extensions> </Platform> </DeployClass> <DeployClass Name="File"> <Platform Name="Win32"> <Operation>0</Operation> </Platform> </DeployClass> <DeployClass Required="true" Name="ProjectOutput"> <Platform Name="Win32"> <Operation>0</Operation> </Platform> </DeployClass> <DeployClass Name="ProjectUWPManifest"> <Platform Name="Win32"> <Operation>1</Operation> </Platform> </DeployClass> <DeployClass Name="UWP_DelphiLogo150"> <Platform Name="Win32"> <RemoteDir>Assets</RemoteDir> <Operation>1</Operation> </Platform> </DeployClass> <DeployClass Name="UWP_DelphiLogo44"> <Platform Name="Win32"> <RemoteDir>Assets</RemoteDir> <Operation>1</Operation> </Platform> </DeployClass> <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/> </Deployment> <Platforms> <Platform value="Android">False</Platform> <Platform value="OSX32">False</Platform> <Platform value="Win32">True</Platform> <Platform value="Win64">False</Platform> <Platform value="iOSDevice32">False</Platform> <Platform value="iOSDevice64">False</Platform> <Platform value="iOSSimulator">False</Platform> </Platforms> </BorlandProject> <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/> <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/> </Project>
Delphi-Quellcode:
Und in der dproj Zeile 47 DCC_NAMESPACE sorgt dafür, dass
program mcve;
{$APPTYPE CONSOLE} {$R *.res} uses SysUtils; begin try { TODO -oUser -cConsole Main : Code hier einfügen } except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
Delphi-Quellcode:
gefunden wird, obwohl die Unit eigentlich
SysUtils
Delphi-Quellcode:
heißt.
System.Sysutils
Also gib mir so ein Beipiel, wo es nicht funktioniert und ich sage dir wo der Fehler liegt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 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