AGB  ·  Datenschutz  ·  Impressum  







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

Header zu Unit Problem !

Ein Thema von nitschchedu · begonnen am 24. Okt 2006 · letzter Beitrag vom 25. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#1

Header zu Unit Problem !

  Alt 24. Okt 2006, 08:33
Ich habe eine Header Übersetzt nun wenn ich sie anwenden will Bekomme ich bei den aufruf
einen Fehler.

Die Übersetzung:

Code:

typedef enum
{
   eSteamErrorNone                                       = 0,
   eSteamErrorUnknown                                    = 1,
   eSteamErrorLibraryNotInitialized                        = 2,
   eSteamErrorLibraryAlreadyInitialized                     = 3,
   eSteamErrorConfig                                    = 4,
   eSteamErrorContentServerConnect                           = 5,
   eSteamErrorBadHandle                                 = 6,
   eSteamErrorHandlesExhausted                              = 7,
   eSteamErrorBadArg                                    = 8,
   eSteamErrorNotFound                                    = 9,
   eSteamErrorRead                                       = 10,
   eSteamErrorEOF                                       = 11,
   eSteamErrorSeek                                       = 12,
   eSteamErrorCannotWriteNonUserConfigFile                     = 13,
   eSteamErrorCacheOpen                                 = 14,
   eSteamErrorCacheRead                                 = 15,
   eSteamErrorCacheCorrupted                              = 16,
   eSteamErrorCacheWrite                                 = 17,
   eSteamErrorCacheSession                                 = 18,
   eSteamErrorCacheInternal                              = 19,
   eSteamErrorCacheBadApp                                 = 20,
   eSteamErrorCacheVersion                                 = 21,
   eSteamErrorCacheBadFingerPrint                           = 22,

   eSteamErrorNotFinishedProcessing                        = 23,
   eSteamErrorNothingToDo                                 = 24,
   eSteamErrorCorruptEncryptedUserIDTicket                     = 25,
   eSteamErrorSocketLibraryNotInitialized                     = 26,
   eSteamErrorFailedToConnectToUserIDTicketValidationServer      = 27,
   eSteamErrorBadProtocolVersion                           = 28,
   eSteamErrorReplayedUserIDTicketFromClient                  = 29,
   eSteamErrorReceiveResultBufferTooSmall                     = 30,
   eSteamErrorSendFailed                                 = 31,
   eSteamErrorReceiveFailed                              = 32,
   eSteamErrorReplayedReplyFromUserIDTicketValidationServer      = 33,
   eSteamErrorBadSignatureFromUserIDTicketValidationServer         = 34,
   eSteamErrorValidationStalledSoAborted                     = 35,
   eSteamErrorInvalidUserIDTicket                           = 36,
   eSteamErrorClientLoginRateTooHigh                        = 37,
   eSteamErrorClientWasNeverValidated                        = 38,
   eSteamErrorInternalSendBufferTooSmall                     = 39,
   eSteamErrorInternalReceiveBufferTooSmall                  = 40,
   eSteamErrorUserTicketExpired                           = 41,
   eSteamErrorCDKeyAlreadyInUseOnAnotherClient                  = 42,

   eSteamErrorNotLoggedIn                                 = 101,
   eSteamErrorAlreadyExists                              = 102,
   eSteamErrorAlreadySubscribed                           = 103,
   eSteamErrorNotSubscribed                              = 104,
   eSteamErrorAccessDenied                                 = 105,
   eSteamErrorFailedToCreateCacheFile                        = 106,
   eSteamErrorCallStalledSoAborted                           = 107,
   eSteamErrorEngineNotRunning                              = 108,
   eSteamErrorEngineConnectionLost                           = 109,
   eSteamErrorLoginFailed                                 = 110,
   eSteamErrorAccountPending                              = 111,
   eSteamErrorCacheWasMissingRetry                           = 112,
   eSteamErrorLocalTimeIncorrect                           = 113,

   eSteamErrorNetwork                                    = 200


} ESteamError;


typedef enum
{
   eNoDetailedErrorAvailable,
   eStandardCerrno,
   eWin32LastError,
   eWinSockLastError,
   eDetailedPlatformErrorCount
} EDetailedPlatformErrorType;


typedef struct
{
   ESteamError eSteamError;
   EDetailedPlatformErrorType eDetailedErrorType;
   int nDetailedErrorCode;
   char szDesc[STEAM_MAX_PATH];
} TSteamError;


STEAM_API int            STEAM_CALL   SteamStartEngine( TSteamError *pError );

Delphi-Quellcode:
const
    NDU_STEAM_USING_LOGGING = $00000002;

type
  TnduESteamError = (eSteamErrorNone = 0,
    eSteamErrorUnknown = 1,
     eSteamErrorLibraryNotInitialized   = 2,
     eSteamErrorLibraryAlreadyInitialized      = 3,
     eSteamErrorConfig                = 4,
     eSteamErrorContentServerConnect                   = 5,
     eSteamErrorBadHandle                          = 6,
     eSteamErrorHandlesExhausted                         = 7,
     eSteamErrorBadArg                         = 8,
     eSteamErrorNotFound                             = 9,
     eSteamErrorRead                         = 10,
     eSteamErrorEOF                         = 11,
     eSteamErrorSeek                            = 12,
     eSteamErrorCannotWriteNonUserConfigFile       = 13,
     eSteamErrorCacheOpen                         = 14,
     eSteamErrorCacheRead                         = 15,
     eSteamErrorCacheCorrupted                      = 16,
     eSteamErrorCacheWrite                         = 17,
     eSteamErrorCacheSession                      = 18,
     eSteamErrorCacheInternal                            = 19,
     eSteamErrorCacheBadApp                            = 20,
     eSteamErrorCacheVersion                            = 21,
     eSteamErrorCacheBadFingerPrint                   = 22,

     eSteamErrorNotFinishedProcessing                = 23,
     eSteamErrorNothingToDo                            = 24,
     eSteamErrorCorruptEncryptedUserIDTicket       = 25,
     eSteamErrorSocketLibraryNotInitialized       = 26,
     eSteamErrorFailedToConnectToUserIDTicketValidationServer      = 27,
     eSteamErrorBadProtocolVersion                            = 28,
     eSteamErrorReplayedUserIDTicketFromClient                   = 29,
     eSteamErrorReceiveResultBufferTooSmall                      = 30,
     eSteamErrorSendFailed                               = 31,
     eSteamErrorReceiveFailed                            = 32,
     eSteamErrorReplayedReplyFromUserIDTicketValidationServer      = 33,
     eSteamErrorBadSignatureFromUserIDTicketValidationServer         = 34,
     eSteamErrorValidationStalledSoAborted                      = 35,
     eSteamErrorInvalidUserIDTicket                            = 36,
     eSteamErrorClientLoginRateTooHigh                         = 37,
     eSteamErrorClientWasNeverValidated                         = 38,
     eSteamErrorInternalSendBufferTooSmall                      = 39,
     eSteamErrorInternalReceiveBufferTooSmall                   = 40,
     eSteamErrorUserTicketExpired                            = 41,
     eSteamErrorCDKeyAlreadyInUseOnAnotherClient                   = 42,

     eSteamErrorNotLoggedIn                         = 101,
     eSteamErrorAlreadyExists                         = 102,
     eSteamErrorAlreadySubscribed                            = 103,
     eSteamErrorNotSubscribed                         = 104,
     eSteamErrorAccessDenied                            = 105,
     eSteamErrorFailedToCreateCacheFile                         = 106,
     eSteamErrorCallStalledSoAborted                            = 107,
     eSteamErrorEngineNotRunning                            = 108,
     eSteamErrorEngineConnectionLost                            = 109,
     eSteamErrorLoginFailed                         = 110,
     eSteamErrorAccountPending                            = 111,
     eSteamErrorCacheWasMissingRetry                            = 112,
     eSteamErrorLocalTimeIncorrect                            = 113,

     eSteamErrorNetwork                               = 200);


TnduEDetailedPlatformErrorType = (eNoDetailedErrorAvailable,
     eStandardCerrno,
     eWin32LastError,
     eWinSockLastError,
     eDetailedPlatformErrorCount);


  PnduSteamError = ^TnduSteamError;
  TnduSteamError = packed record
    eSteamError: TnduESteamError;
    eDetailedErrorType: TnduEDetailedPlatformErrorType;
    nDetailedErrorCode: Integer;
    szDesc: array [0..NDU_STEAM_MAX_PATH] of Char;
  end;


function SteamStartup(uUsingMask: Cardinal;
    pError: PnduSteamError): Integer; stdcall; external 'steam.dll';

Der Aufruf:

Delphi-Quellcode:

intSteamEngine := SteamStartup(NDU_STEAM_USING_LOGGING, @Error);

  if intSteamEngine <> 1 then
  begin
    SteamShutdownEngine(@Error);
    ShowMessage('Error!');
  end;
Im Projekt Project1.exe ist eine Execption der Klasse EAccessViolation aufgetreten.
Meldung: 'Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000'.
Prozess wurde angehlaten. Mit Einzelne Anweisung oder Start fortsetzten.



Könnt ihr mir Helfen ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Header zu Unit Problem !

  Alt 24. Okt 2006, 08:39
Die AV deutet darauf hin, daß auf einen uniinitialisierten Speicherbereich zugegriffen wird, du z.B. eine nicht instantiierte Klasse verwenden willst.

Wie ist SteamStartup deklariert?
Was ist error?
Markus Kinzler
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#3

Re: Header zu Unit Problem !

  Alt 24. Okt 2006, 08:53
Der Komplete aufruf sieht so aus.

Delphi-Quellcode:
procedure TForm1.Button15Click(Sender: TObject);
var
  Error: TnduSteamError;
  intSteamEngine: Cardinal;
begin
  intSteamEngine := SteamStartup(NDU_STEAM_USING_LOGGING, @Error);

  if intSteamEngine <> 1 then
  begin
    SteamShutdownEngine(@Error);
    ShowMessage('Error!');
  end;
end;
Im Error steht zwar der Fehler MSG unter Error.szDesc aber am ende kommt der Fehler.

SteamStartUP

Code:
STEAM_API int            STEAM_CALL   SteamStartup( unsigned int uUsingMask, TSteamError *pError );
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Header zu Unit Problem !

  Alt 24. Okt 2006, 18:23
Moin nitschchedu,

woher weisst Du denn, dass STEAM_CALL der Aufrufkonvention stdcall entspricht?
Könnte es nicht auch cdecl sein?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Header zu Unit Problem !

  Alt 24. Okt 2006, 18:37
Nur so aus Neugier... was gibt das denn wenns fertig ist?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Header zu Unit Problem !

  Alt 24. Okt 2006, 19:17
Hallo nitschchedu,

vielleicht hast du auch nur einige alte Fehler wiederholt: klick

Gruß Hawkeye
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#7

Re: Header zu Unit Problem !

  Alt 25. Okt 2006, 10:56
Wenn du das mit der Größe von den Arrays meinst da habe ich diesmal ser genau drauf aufgepasst. (Aus fehlern lernt man).
Wenn das ganze fertig ist will ich mit meinen Steam mich einlogen und meine Games updaten lassen in der Console.
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#8

Re: Header zu Unit Problem !

  Alt 25. Okt 2006, 10:57
Zitat von Christian Seehase:
Moin nitschchedu,

woher weisst Du denn, dass STEAM_CALL der Aufrufkonvention stdcall entspricht?
Könnte es nicht auch cdecl sein?
Wie kann ich denn das Rausbekommen ?
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#9

Re: Header zu Unit Problem !

  Alt 25. Okt 2006, 10:59
Zitat von nitschchedu:
Zitat von Christian Seehase:
Moin nitschchedu,

woher weisst Du denn, dass STEAM_CALL der Aufrufkonvention stdcall entspricht?
Könnte es nicht auch cdecl sein?
Wie kann ich denn das Rausbekommen ?
Ich glaube es liegt daran

Delphi-Quellcode:

#ifdef STEAM_EXPORTS
#define STEAM_API __declspec(dllexport)
#else
#define STEAM_API __declspec(dllimport)
#endif

#define STEAM_CALL __cdecl

#else

#define STEAM_API /* */
#define STEAM_CALL /* */

#endif
oder ?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Header zu Unit Problem !

  Alt 25. Okt 2006, 11:11
Moin nitschchedu,

dann solltest Du es mal auf cdecl ändern.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:28 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