AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Gibt es eine limitierung an einträgen in Records?
Thema durchsuchen
Ansicht
Themen-Optionen

Gibt es eine limitierung an einträgen in Records?

Ein Thema von EWeiss · begonnen am 25. Nov 2013 · letzter Beitrag vom 25. Nov 2013
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Gibt es eine limitierung an einträgen in Records?

  Alt 25. Nov 2013, 09:42
Ich hab da ein Problem in Verbindung mit C# und Delphi.

Um die Kompatibilität zwischen verschiedenen Sprachen zu erhalten sind meine Variablen als LongBool ausgelegt.
Boolean funktioniert leider bei VB nicht so kann ich hier ein Long anstelle von Boolean verwenden.

Angeblich soll bedingt durch meine DLL dieser Fehler auftreten.

Zitat:
Der Dienst "hwinterfacex64" wurde aufgrund folgenden Fehlers nicht gestartet:
Die digitale Signatur dieser Datei kann nicht überprüft werden. Möglicherweise wurde durch eine kürzlich durchgeführte Hardware- oder Softwareänderung eine falsch signierte oder beschädigte Datei oder eine Datei, bei der es sich um böswillige Software aus einer unbekannten Quelle handelt, installiert.
und die libusb0.dll welche überhaupt nicht in einen meiner DLL's verwendet wird kann nicht gefunden werden.

Kann es sein das die Einträge in einem Record limitiert sind?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Gibt es eine limitierung an einträgen in Records?

  Alt 25. Nov 2013, 09:49
Das hat mit irgendwelchen programminternen Strukturen rein gar nichts zu tun.

Da stimmt einfach die Signatur des Dienstes oder einer seiner DLLs nicht. Ist deine DLL denn signiert?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Gibt es eine limitierung an einträgen in Records?

  Alt 25. Nov 2013, 09:58
Das hat mit irgendwelchen programminternen Strukturen rein gar nichts zu tun.

Da stimmt einfach die Signatur des Dienstes oder einer seiner DLLs nicht. Ist deine DLL denn signiert?
Nein..
Das ist nur ein Wrapper der die Funktionen von meiner DLL weiterleitet.
Theoretisch kann ich die Classe auch direkt im Projekt einbinden.
Die DLL ist aber nötig da ein Marshalling in VB.NET nicht so ohne weiteres funktioniert. (deshalb habe ich diese auch in C# erstellt)

Damit ich nicht zwei Classen dafür schreiben muss.

Delphi!
Delphi-Quellcode:
  //Definition der Records für die variablen Parameter bei Create bzw. Execute
  //WMP: Handle des Fensters braucht nicht definiert werden, da es bereits beim init mitgegeben wird
  PBASSVIS_EXEC = ^TBASSVIS_EXEC;
  TBASSVIS_EXEC = record
    Pluginfile : PAnsiChar; // Dateiname des Plugins
                                       // für Sonique, Winamp, BassBox
    AMP_UseOwnW1 : DWORD; // Flag für Winamp (ownHDC)
    AMP_UseOwnW2 : DWORD; // Flag für Winamp (ownHDCW2)
    AMP_Moduleindex : DWORD; // Modul-index für Winamp
    AMP_UseFakeWindow : BOOL; // Create a own Window for WindowMessages
    SON_ParentHandle : HWND; // Painthandle für Sonique
    SON_ConfigFile : PAnsiChar; // Dateiname der Konfiguration für Sonique
    SON_Flags : DWORD; // Flags für Sonique
    SON_UseOpenGL : BOOL; // Use OpenGL instead of GDI
    SON_ViewportWidth : integer; // Stretch Width
    SON_ViewportHeight : integer; // Stretch Height
    SON_ShowPrgBar : BOOL; // Progressbar anzeigen
    SON_ShowFPS : BOOL; // Frames pro Sekunde anzeigen
    SON_UseCover : BOOL; // Cover anzeigen
    WMP_PluginIndex : integer; // Pluginindex für WMP;
    WMP_PresetIndex : integer; // Presetindex für WMP;
    WMP_SrcVisHandle : HWND; // ContainerVisHandle für WMP;
    BB_ParentHandle : HWND; // Parent Windowhandle
    BB_Flags : DWORD; // Flags für BassBox selbe wie Sonique
    BB_ShowFPS : BOOL; // Frames pro Sekunde anzeigen
    BB_ShowPrgBar : BOOL; // Progressbar anzeigen
    AIMP_PaintHandle : HDC; // Painthandle für Aimp2
    AIMP_Flags : DWORD; // Flags für Aimp2
    Width, Height : integer; // Fensterhöhe und Breite
    Left, Top : integer; // Left und Top;
  end;
c#

Code:
    [Serializable, StructLayout(LayoutKind.Sequential)]
    public sealed class BASSVIS_EXEC
    {
      [MarshalAs(UnmanagedType.LPStr)]
      public string PluginFile = string.Empty;
      public int AMP_UseOwnW1;
      public int AMP_UseOwnW2;
      public int AMP_ModuleIndex;
      public bool AMP_UseFakeWindow;
      public IntPtr SON_ParentHandle = IntPtr.Zero;
      [MarshalAs(UnmanagedType.LPStr)]
      public string SON_ConfigFile = string.Empty;
      public BASSVISFlags SON_Flags;
      public bool SON_UseOpenGL;
      public int SON_ViewportWidth;
      public int SON_ViewportHeight;
      [MarshalAs(UnmanagedType.Bool)]
      public bool SON_ShowPrgBar;
      [MarshalAs(UnmanagedType.Bool)]
      public bool SON_ShowFPS;
      [MarshalAs(UnmanagedType.Bool)]
      public bool SON_UseCover;
      public int WMP_PluginIndex;
      public int WMP_PresetIndex;
      public IntPtr WMP_SrcVisHandle = IntPtr.Zero;
      public IntPtr BB_ParentHandle = IntPtr.Zero;
      public BASSVISFlags BB_Flags;
      [MarshalAs(UnmanagedType.Bool)]
      public bool BB_ShowFPS;
      [MarshalAs(UnmanagedType.Bool)]
      public bool BB_ShowPrgBar;
      public IntPtr AIMP_PaintHandle = IntPtr.Zero;
      public BASSVISFlags AIMP_Flags;
      public int Width;
      public int Height;
      public int Left;
      public int Top;
      public BASSVIS_EXEC(string filename)
        {
            this.PluginFile = filename;
        }
    }
Habe BOOL in C# als UnmanagedType gemarshallt da scheint es vielleicht Probleme zu geben
Kann dies ein laden der hwinterfacex64.sys verhindern?
Denke mal nicht.

Nachdem ich diese drei variablen addiert habe
Delphi-Quellcode:
SON_ShowPrgBar : BOOL; // Progressbar anzeigen
SON_ShowFPS : BOOL; // Frames pro Sekunde anzeigen
SON_UseCover : BOOL; // Cover anzeigen
Scheint da irgendetwas nicht mehr zu funktionieren.
Deshalb auch die frage nach dem Limit.

gruss

Geändert von EWeiss (25. Nov 2013 um 10:00 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Gibt es eine limitierung an einträgen in Records?

  Alt 25. Nov 2013, 12:26
Sorry das ich das Thema so schnell nach oben hole.

Kann mir denn niemand sagen ob meine DLL (32Bit) das laden von hwinterfacex64.sys verhindert?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Gibt es eine limitierung an einträgen in Records?

  Alt 25. Nov 2013, 13:30
Wenn das deine DLL einbindet und diese nicht signiert ist, wäre das möglich. Denn es steht ja da, dass die Signierung nicht korrekt ist.

Ob es tatsächlich deine DLL ist, die das verhindert, kann man relativ einfach im Process Monitor prüfen. Wenn deine DLL im Zuge des Starts dieses Dienstes nie angefasst wird, kann sie auch nicht die Ursache sein.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Gibt es eine limitierung an einträgen in Records?

  Alt 25. Nov 2013, 13:40
Habe den Fehler gefunden.
Nicht bei mir sondern in der Anwendung selbst die meine DLL verwendet.

Es existiert ein Folder namens Plugin dieser sollte eigentlich nur ausschließlich für Winamp Plug-Ins verwendet werden.
Jetzt haben die da aber noch andere DLL's in einem separaten Ordner gelagert. (Für MiniDisplays)
Durch das rekursive Search Flag das auf true geschaltet wurde suchte meine DLL natürlich auch dort nach möglichen Winamp Plug-Ins.
Das hatte zur folge das DLL's geladen wurden welche dieses Interface verwenden.

Das kann dann natürlich nur ins negative gehen.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 Uhr.
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