Forum:MegaCAD
Thema:Frage an Hillex=>Beispiel zum Aufruf der prtdraw.dll Funktionen aus VB
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
Thömse

Beiträge: 1319 / 36

Inventor 2019 Professional
Vault Professional 2019
SolidWorks 2017
MegaCad 2015 3D
Intel Xeon W-2135 CPU 3.70GHz
16 GB RAM
Nvidia Quadro P2000
Windows 10 Pro

Morgen Karsten

Habe heute Morgen Dein Beispiel angeschaut mit dem Megaviewer.
Kannst Du mir sagen wie ich den Code ändern muss damit der Hintergrund des angezeigten Fensters in schwarz kommt..????

Besten Dank und Gruss

TOM

Thömse

Beiträge: 1319 / 36

Inventor 2019 Professional
Vault Professional 2019
SolidWorks 2017
MegaCad 2015 3D
Intel Xeon W-2135 CPU 3.70GHz
16 GB RAM
Nvidia Quadro P2000
Windows 10 Pro

Hallo Karsten

Das mit der Hintergrundfarbe funtz jetzt, habs gefunden. Anderes Problem die MegaCAD 2005 Dateien werden nicht angezeigt, hast Du mir da einen Tip.

Gruss und besten Dank
TOM

Hillex

Beiträge: 579 / 6

Intel(R)Core(TM)i7
RAM: 16GB
SSD: 256GB
MS Windows 10Pro 1703
MegaCAD_2013_3D
MegaCAD_2017_3D

Moin,

du mußt die Variable lngFlags ändern, diese wird in frmMain in der Procedure Form_Load initialisiert. Erlaubte Werte für die Farben sind 0-15, dabei entspricht 0-schwarz und 15-weiß.

Code:
Private Sub Form_Load()
  'Namen und Pfade initialisieren
  Call SetDllPath(CurDir)
  Call SetFileName("")
  Call SetIniName(CurDir & "\MEGACAD.INI")
 
  Call Komandozeile
 
  'prtdraw.dll patchen
  If Patch(GetDllPath) = False Then
    Call MsgBox("Die prtdraw.dll konnte nicht gepatcht werden." & vbCrLf & _
                "Die Anzeige der Makrodaten kann somit nicht zur Verfügung gestellt werden.", _
                vbExclamation, "Info")
    mnuHelpMakros.Enabled = False
  End If
 
  'MegaCAD SetMegaIni Funktion aus drawprt.dll aufrufen
  Call SetIni(GetIniName)
 
  'Variablen und Funktionen initialisieren
  'Rückgabewert von Scale... festlegen
  'ScaleMode-Wert für tRECT Bereiche von prtdraw.dll, Pixel erforderlich
  frmMain.ScaleMode = 3  '1-Twip, 2-Punkt, 3-Pixel, 4-Zeichen
  Call SetScrollBarPos
  Call SetScrollBarMinMax
  Call InitZoom(100, 10, 0)
  Call InitStatusBar
  bolFreeZoom = False
  lngFlags = 0          'Hintergrundfarbe 0-15) 15-weiß, 7-grau, 0-schwarz
  lngRand = 10
End Sub

------------------
90% aller Fehler haben ihre Ursache 60cm vor dem Bildschirm.

CU
Karsten

Hillex

Beiträge: 579 / 6

Intel(R)Core(TM)i7
RAM: 16GB
SSD: 256GB
MS Windows 10Pro 1703
MegaCAD_2013_3D
MegaCAD_2017_3D

Moin,

da war doch glatt einer schneller.
Um auch die aktuellen 2005er Zeichnungen betrachten zukönnen ist die aktuelle prtdraw.dll erforderlich. Natürlich wird auch diese in der orginal Version einen Absturz beim aufruf von MakroLoop in VB erzeugen. Deshalb wird die orginal prtdraw.dll mit hilfe des PrtDrawVBPatch-Moduls verändert damit es mit VB funktioniert. Dies sollte auch mit der aktuellen dll möglich sein. Dazu mußt du die 2004er prtdraw.dll in deinem VB-Projektverzeichnis gegen die neue 2005er dll, welche im "C:\Programme\MegaCAD_3D_2005\UTILS" Verzeichnis austauschen. Zusätzlich mußt du die alte gepatchte prtdraw4VB.dll im Projektverzeichnis löschen, diese wird beim ersten Programmstart neu erstellt. So sollt es auch mit Zukünftigen Versionen funktionieren.
Oder einfach die dll aus der zip-Datei ins Projektverzeichnis kopieren.

------------------
90% aller Fehler haben ihre Ursache 60cm vor dem Bildschirm.

CU
Karsten

Thömse

Beiträge: 1319 / 36

Inventor 2019 Professional
Vault Professional 2019
SolidWorks 2017
MegaCad 2015 3D
Intel Xeon W-2135 CPU 3.70GHz
16 GB RAM
Nvidia Quadro P2000
Windows 10 Pro

Moin Karsten

Besten Dank für Deine Hilfe und vorallem Deinen Grundcode um ein PRT anzuzeigen im VB.
Wenn ich wieder Hilfe brauche würde ich mich gerne wieder an Dich wenden.

Gruss und schöner Tag aus dem Zürcher-Oberland
TOM

Hillex

Beiträge: 579 / 6

Intel(R)Core(TM)i7
RAM: 16GB
SSD: 256GB
MS Windows 10Pro 1703
MegaCAD_2013_3D
MegaCAD_2017_3D

Moin,

darfst du.
Allerdings kann ich dir nicht garantieren ob es so schnell geht. Nebenbei muß ich auch manchmal noch was für meinen Chef machen. 

------------------
90% aller Fehler haben ihre Ursache 60cm vor dem Bildschirm.

CU
Karsten