vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Programmende durch Absturz ohne Fehler (-meldung) 
Autor: Dirk
Datum: 07.01.09 09:28

Ja, stimmt, der OnError Block fängt das ab.

Verwendest du Pointer (Stichwort WeakReferences)? Ich meine, dass ich in dem Zusammenhang durchaus interessante Abstürze erlebt habe ...

Beispiel:
Public Enum gt_TOBJPTR
  [_]
End Enum
 
'***Public**********************************************************************
'
'  Procedure:  Function CPTR()
' Parameters:  ByRef rObject As Object
'     Return:  gt_TOBJPTR
'
'Description:  returns a pointer (TypeOf gt_TOBJPTR is Long) on the given object
'
'*******************************************************************************
Public Function CPTR(ByRef rObject As Object) As gt_TOBJPTR
 
  LongFromObject CPTR, rObject, 4
 
End Function
 
'***Public**********************************************************************
'
'  Procedure:  Function COBJ()
' Parameters:  ByVal vPointer As gt_TOBJPTR
'     Return:  Object
'
'Description:  returns the object identified by given pointer
'
'*******************************************************************************
Public Function COBJ(ByVal vPointer As gt_TOBJPTR) As Object
 
  ObjectFromLong COBJ, vPointer, 4
 
    If Not COBJ Is Nothing Then
      IncRefCount COBJ  'increment reference of object!!!
    End If
 
End Function
 
'***Private*********************************************************************
'
'  Procedure:  Sub IncRefCount()
' Parameters:  ByRef rObject As IUnknown
'     Return:  -
'
'Description:  increments the referencecounter of the given object (called by 
' COBJ)
'
'*******************************************************************************
Private Sub IncRefCount(ByRef rObject As IUnknown)
 
Dim lngRc As Long
 
  If rObject Is Nothing Then Exit Sub
 
  CopyMemory lngRc, ByVal (ObjPtr(rObject)) + 4, 4
  CopyMemory ByVal (ObjPtr(rObject)) + 4, (lngRc + 1), 4
 
End Sub

Gruß
Dirk

--
?Get it right the first time

Beitrag wurde zuletzt am 07.01.09 um 09:29:33 editiert.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Programmende durch Absturz ohne Fehler (-meldung)1.905Madmax198223.12.08 11:03
Re: Programmende durch Absturz ohne Fehler (-meldung)1.176effeff23.12.08 15:34
Re: Programmende durch Absturz ohne Fehler (-meldung)1.115Madmax198223.12.08 15:47
Re: Programmende durch Absturz ohne Fehler (-meldung)1.061TberehSbh24.12.08 09:31
Re: Programmende durch Absturz ohne Fehler (-meldung)1.071Madmax198224.12.08 10:47
Re: Programmende durch Absturz ohne Fehler (-meldung)1.168wb-soft25.12.08 10:58
Re: Programmende durch Absturz ohne Fehler (-meldung)979Madmax198206.01.09 16:26
Re: Programmende durch Absturz ohne Fehler (-meldung)1.084Dirk06.01.09 20:26
Re: Programmende durch Absturz ohne Fehler (-meldung)1.052Madmax198206.01.09 20:54
Re: Programmende durch Absturz ohne Fehler (-meldung)1.016Dirk07.01.09 09:28

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel