AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interface implementieren...

Ein Thema von barnti · begonnen am 20. Aug 2004 · letzter Beitrag vom 11. Jun 2005
Antwort Antwort
Seite 2 von 2     12   
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Interface implementieren...

  Alt 20. Aug 2004, 12:55
Hallo,
ich danke dir an dieser Stelle schon mal für deine Geduld.
Ich habe bereits mehrer Version dieser Klasse ausprobiert. Nur diese will einfach nicht gelingen.
Ich kann nicht erkennen, welche Parameter bei meiner Version für den Aufruf von 'VerQueryValue' nicht richtig sind.
Gruß,

Barnti
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#12

Re: Interface implementieren...

  Alt 20. Aug 2004, 13:17
Zitat von barnti:
ich danke dir an dieser Stelle schon mal für deine Geduld.
Oh, kein Problem. Wärst du einer von den "Kannst du mir mal den Code schreiben"-Typen gewesen, hätte ich mich inzwischen schon gar nicht mehr gemeldet.

Zitat:
Ich kann nicht erkennen, welche Parameter bei meiner Version für den Aufruf von 'VerQueryValue' nicht richtig sind.
Vllt. scheitert´s bei dir bloß am Backslash. Wenn ich das richtig sehe, benutzt du einen. Ich habe zwei. Muss nichts bedeuten, weil ich das ehrlich gesagt so von sakura übernommen habe. Hm, mal fragen .... saaaaaaaaaaaakuuuuuuuuuuuraaaaaaaaaaaaaaaaaaa?
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Interface implementieren...

  Alt 20. Aug 2004, 13:34
Hallo,

der Fehler scheint an folgender Stelle zu sein:
Delphi-Quellcode:
                       // z.B. 'CompanyName'
function TmyVersionInfo.GetKey(KeyName: String): String;
var
  InfoLength: UINT;
  LangCharSet: String;
begin
  if InfoAvailable then
    begin
      //SetLength(Result, 255);
      //Dieser Aufruf ist irgentwie falsch . Hier kommt immer false raus

      if VerQueryValue(myVersionInfo,PChar(KeyName),Pointer(result), InfoLength) then
        begin
          SetString(Result,PChar(Result),InfoLength-1);
        end
      else begin
        result:=''
      end;
    end
  else begin
    result:= 'N/A';
  end;
end;
Immerhin scheint der Fehler nun ziehmlich eingegrenzt zu sein...
Gruß,

Barnti
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#14

Re: Interface implementieren...

  Alt 20. Aug 2004, 14:04
Zitat von barnti:
procedure SetVersionInfo(const Index: Integer; const Value: String);
Delphi erwartet als Getter/Setter bestimmte Funtionsprototypen (er mag das 'const' bei Index nicht - erferne es, und alles wird gut).
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Interface implementieren...

  Alt 20. Aug 2004, 14:13
Hallo NicoDE,

ich weiß nicht wie du darauf kommst? Der Fehler liegt definitiv im Aufruf der genannten Funktion, da diese immer false zurückliefert. Die Zugriffsmethoden sind bis dahin noch nicht im Spiel.
Aber vielleicht komme ich da ja noch hin
Gruß,

Barnti
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#16

Re: Interface implementieren...

  Alt 20. Aug 2004, 14:18
Zitat von barnti:
ich weiß nicht wie du darauf kommst?
Ich wollte lediglich die ursprüngliche Frage beantworten
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Interface implementieren...

  Alt 20. Aug 2004, 14:20
Hi,
axo. Ich habe mich schon selber etwas 'verlaufen'. Und für mein Problem habe ich immer noch keine Lösung
Gruß,

Barnti
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Interface implementieren...

  Alt 11. Jun 2005, 12:25
Hallo,

ich bekomme bei der Variante von MathiasSimmack einen EAccessViolation-Error,
Zitat:
Zugriffsverletzung bei Adresse 004568AB in Modul 'Project1.exe'. Lesen von Adresse 00000008.
Ausgelöst wird dieser wohl hier:
Delphi-Quellcode:
function TVersionInfo.FormatVersionNumber: string;
const
  FormatStr = '%d.%d.%d.%d';
begin
  Result := Format(FormatStr,
    [(FInfo^.dwFileVersionMS and $FFFF0000) shr 16,
      FInfo^.dwFileVersionMS and $0000FFFF,
     (FInfo^.dwFileVersionLS and $FFFF0000) shr 16,
      FInfo^.dwFileVersionLS and $0000FFFF]);
end;
Warum ist der Zeiger = nil

Kann mir jemand helfen ?


gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#19

Re: Interface implementieren...

  Alt 11. Jun 2005, 12:42
Hallo,

ich hab mir jetzt nicht alles durchgelesen (habe nur gesehen, dass du auf seite 2 des threads noch keine lösung hast...), von daher bitte ich um verzeihung falls das problem bereits gelöst ist.

ich halte u. a. das hier für den grund des scheiterns:

Delphi-Quellcode:
procedure SetVersionInfo(const Index: Integer; const Value: String);
...
property StandardKeys[index: Integer]: String read GetVersionInfo write SetVersionInfo;
müsste so lauten:

Delphi-Quellcode:
procedure SetVersionInfo(Index: Integer; const Value: String);
...
property StandardKeys[index: Integer]: String read GetVersionInfo write SetVersionInfo;
ohne die const deklaration müsste es gehen, denke ich.

mfg
-dh
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#20

Re: Interface implementieren...

  Alt 11. Jun 2005, 12:53
Zitat von MrKnogge:
...bei der Variante von MathiasSimmack ...
Ich meine die andere Variante, nicht die von barnti.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:17 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