Ich zoome übers VB an einen bestimmten bereich und möchte danach einen Screenshot davon erzeugen!! (dies mehrmals hintereinander von verschiedenen bereichen!!)
beim erstellen des Screenshots bringt er mir jedoch meistens wieder die Fehlermeldung
"Die für diesen Vorgang erforderlichen Daten sind noch nicht verfügbar."
--> der Screenshot wird nicht erstellt
Wenn ich allerdings nur einen Bereich habe auf den ich zoome und einen Screenshot erstelle passiert dieser fehler nicht!!!
Was kann der grund dafür sein?????
Danke Alex
beim erstellen des Screenshots bringt er mir jedoch meistens wieder die Fehlermeldung
"Die für diesen Vorgang erforderlichen Daten sind noch nicht verfügbar."
--> der Screenshot wird nicht erstellt
Wenn ich allerdings nur einen Bereich habe auf den ich zoome und einen Screenshot erstelle passiert dieser fehler nicht!!!
Was kann der grund dafür sein?????
Danke Alex
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von uwelangehh am Mo., 19.09.2005 - 15:39
Permalinkkannst du bitte den VB(A?)-Code zu deinem Problem posten? Fehlt vielleicht ein Befehl zum Aktualisieren des Displays (z. B. pActiveView.Refresh)?
Gruß
Uwe
Gespeichert von Gast am Mo., 19.09.2005 - 16:24
PermalinkhDC = pExporter.StartExporting
und
pActiveView.Output hDC, dpi, mExportFrame, Nothing, Nothing
...habe es mit refresh und ohne refresh probiert!! änder nichts an der Fehlermeldung!!!!
Function fDoScreenshot(strFilename As String)
Dim pActiveView As IActiveView
Dim pExporter As IExporter
Dim pEnv As esriGeometry.IEnvelope
Dim mExportFrame As tagRECT
Dim hDC As Long
Dim dpi As Integer
On Error GoTo errorhandler
Set pActiveView = mMXDoc.ActiveView
Set pExporter = New JpegExporter
Set pEnv = New Envelope
'Setup the exporter
mExportFrame = pActiveView.ExportFrame
pEnv.PutCoords mExportFrame.Left, mExportFrame.Top, mExportFrame.Right, mExportFrame.Bottom
dpi = pExporter.Resolution 'default screen resolution is usually 96
On Error Resume Next
Call Kill(strFilename)
Err.Clear
On Error GoTo errorhandler
With pExporter
.PixelBounds = pEnv
.ExportFileName = strFilename
.Resolution = dpi
End With
hDC = pExporter.StartExporting
pActiveView.Refresh
pActiveView.Output hDC, dpi, mExportFrame, Nothing, Nothing
pExporter.FinishExporting
errorhandler:
If Err Then
Call MsgBox("Fehler beim Erstellen der Zeichungsausschnitte." & vbCrLf & Err.Description, vbSystemModal)
Err.Clear
End If
End Function
Gespeichert von Gast am Mo., 19.09.2005 - 21:14
Permalinknur als Rückmeldung: läuft bei mir (8.3) auch im "batch" fehlerfrei durch, sehe auch keinen Fehler. Evtl. könnte ja ein DoEvents vor dem Output helfen? Ggf. auch mal mal ein bißchen mit Sleep rumprobieren. Habe ansonsten keine zielführendere Idee.
Viele Grüße
Jörg Ostendorp
Gespeichert von Gast am Di., 20.09.2005 - 09:18
Permalinkich weiss nicht mehr wie ich das lösen könnte!!! brauche es unbedingt!!!....
Gespeichert von Gast am Di., 20.09.2005 - 22:19
Permalinksorry, aber wenn Du nicht gerad' noch assoziierten Code im ActiveViewChanged-Event o.ä. hinterlegt haben solltest, fürchte ich, muß ich passen.
Wenn Du magt, poste evtl. nochmal den vollständigen Code inkl. der modulweiten Deklarationen und dem was Du da sonst noch so treibst. Vielleicht hakt's ja woanders.
Viele Grüße
Jörg Ostendorp