| | | André Kohut ist neuer Geschäftsführer bei MegaCAD |
Autor(20117)
|
Thema: Frage zu UTILS (1481 mal gelesen)
|
Steffen_WAL Mitglied Dipl.-Ing. (FH), Konstrukteur
Beiträge: 923 Registriert: 27.10.2002 Windows XP, MegaCAD 2012-3D, Core 2 Duo E8400, 2048MB RAM, PNY Quadro FX1700, RAID0 298GB
|
erstellt am: 29. Jun. 2004 12:00 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe da mal eine Frage: Im Verzeichnis [MegaCADRoot]\UTILS\ befinden sich verschiedene Dateien, wozu dienen die im einzelnen? Der Hintergrund ist der: Ich möchte mir ein VB-Programm schreiben, welches, so das möglich ist, unteranderem Vorschaubilder von MegaCAD-Dateien anzeigen kann. Da ich von C keine Ahnung habe würde ich gern einen Freund von mir, welcher "hauptamtlicher" C-Programmier ist, bitten mir einen Wraper zu schreiben. Dazu sollte ich aber wissen was die einzelnen Dateien in [MegaCADRoot]\UTILS\ darstellen. Vieleicht kann man die DLLs ja auch direkt mit VB verwenden? Wenn ja, wie? Vielen Dank für Eure Antworten Gruß Steffen ------------------ "Software is like Sex - it's better if it's free" Linus Torvalds Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Knoop Mitglied Dipl.-Ing. masch.
Beiträge: 409 Registriert: 09.10.2000
|
erstellt am: 29. Jun. 2004 18:11 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_WAL
Hallo, die gewünschte Vorschau kann man mit der Prtdraw.dll erstellen. Zur Einbindung der DLL in eine C-DLL benötigt man die prtdraw.h. Diese enthält am Ende auch ein exemplarisches Beispiel der Integration. Die Prtdraw.dll läßt sich auch entsprechend in Basic direkt verwenden. Ich habe derzeit nur nicht genügend Ahnung um kompetent zu beschreiben, welche Schritte für eine Einbindung in VB notwendig sind. Ich liebe MSVC++ über alles :-) Viele Grüße Bernd ------------------ -Megatech Software GmbH- -Niederlassung Nord- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen_WAL Mitglied Dipl.-Ing. (FH), Konstrukteur
Beiträge: 923 Registriert: 27.10.2002 Windows XP, MegaCAD 2012-3D, Core 2 Duo E8400, 2048MB RAM, PNY Quadro FX1700, RAID0 298GB
|
erstellt am: 30. Jun. 2004 09:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, ich hatte schon mal gefragt und die selbe Antwort von Dir erhalten. Gibt es denn niemand der weis wie man die prtdraw.dll in VB verwendet? Gruß Steffen ------------------ "Software is like Sex - it's better if it's free" Linus Torvalds Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hillex Mitglied Meister/BWdH/Dipl.Ing.Ind.Engineering
Beiträge: 587 Registriert: 16.01.2002
|
erstellt am: 06. Jul. 2004 17:27 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_WAL
Moin, Im Anhang eine keine Datei mit dem Modul prtdraw.bas, in diesem wird die prtdraw.dll eingebunden. Die Mak... und Mac... Funktionen sind nicht auf Funktion getestet - nur blind geschrieben. Im Projekt noch ein Beispiel zum Aufruf, der Zeichenfunktionen der DLL. Die prtdraw.exe ist die fertige ausführbare Datei davon. P.S. Achso, Umlaute in Dateinamen machen die die üblichen Schwierigkeiten. ------------------ 90% aller Fehler haben ihre Ursache 60cm vor dem Bildschirm. CU Karsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen_WAL Mitglied Dipl.-Ing. (FH), Konstrukteur
Beiträge: 923 Registriert: 27.10.2002 Windows XP, MegaCAD 2012-3D, Core 2 Duo E8400, 2048MB RAM, PNY Quadro FX1700, RAID0 298GB
|
erstellt am: 07. Jul. 2004 08:15 <-- editieren / zitieren --> Unities abgeben:
|
Steffen_WAL Mitglied Dipl.-Ing. (FH), Konstrukteur
Beiträge: 923 Registriert: 27.10.2002 Windows XP, MegaCAD 2012-3D, Core 2 Duo E8400, 2048MB RAM, PNY Quadro FX1700, RAID0 298GB
|
erstellt am: 05. Sep. 2004 16:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Hillex, erst mal noch mal Danke! Und Sorry das ich die alten Kammellen wieder hoch spüle, aber ich komme jetzt erst dazu mit deinem Quellcode zu experimentieren. Also was die Vorschau an geht: Die habe ich schon erfolgreich implementiert . Nur eine Frage zu Deiner prtdraw.bas: Diese enthält eine Definition :
Code:
Public Function GetMacInfo() As String Dim i As Long Dim s As String s = "" For i = 0 To PrtDrawMacro.lInfoSize s = s & PrtDrawMacro.psInfo & vbCrLf Next PrtDrawMacro.lContinue = PrtDrawMacro.lContinue And (Not CLng(2 ^ 3)) End Function
Verstehe ich das richtig, ein Ausdruck der Art:
Code:
sIrgendEineVariable = GetMacInfo
soll das DBInfo als String zurück liefern? Ist veileicht eine blöde Frage, aber ich bin VB-Newbee, weshalb tiefergründiges Wissen bei mir Fehlanzeige ist.... Gruß Steffen ------------------ "Linux is like a wigwam - no windows, no gates and an apache inside !!!" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hillex Mitglied Meister/BWdH/Dipl.Ing.Ind.Engineering
Beiträge: 587 Registriert: 16.01.2002
|
erstellt am: 06. Sep. 2004 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_WAL
Moin, sorry mein Codebeispiel funzt leider nicht, bzw. kann nicht in VB funktionieren. Da die (C-) Programmierer der DLL nur an sich und nicht an andere gedacht haben. Grund dafür ist, dass die Funktion MakroLoop eine Callback-Funktion deren Adresse ihr mit dem Aufruf übergeben wird, mit der Aufrufkonvention cdecl (C-Standart) aufruft, VB unterstützt aber nur stdcall. Dies hat zu Folge, dass die Callback-Funktion welche in VB geschrieben ist, die ihr übergebenen Parameter vom Stack entfernt und die Funktion MakroLoop aus der DLL ebenfalls noch mal. Damit fehlen Rücksprung-Adressen und Werte von anderen Funktion auf den Stack was zur Folge hat, dass das Programm abstürzt. Gelöst kann dieses Problem auf 3. verschiedene Arten werden, die Veränderung der DLL duch MegaTech, einem den Patch in VB, der die DLL umschreibt (werde ich bei Gelegenheit - bald - ins Forum stellen), eine DLL in C oder einer anderen Programmiersprache weche cdecl-Aufrufe unterstüzt und den MakroLoop aufruf bearbeitet. ------------------ 90% aller Fehler haben ihre Ursache 60cm vor dem Bildschirm. CU Karsten [Diese Nachricht wurde von Hillex am 06. Sep. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen_WAL Mitglied Dipl.-Ing. (FH), Konstrukteur
Beiträge: 923 Registriert: 27.10.2002 Windows XP, MegaCAD 2012-3D, Core 2 Duo E8400, 2048MB RAM, PNY Quadro FX1700, RAID0 298GB
|
erstellt am: 06. Sep. 2004 09:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Karsten, OK, dann weiß ich bescheid! Es liegt also nicht an der geringen Kapazität der grauen Masse zwischen meinen Ohren. Erfreulich! Dennoch vielen Dank! Die Vorschaufunktion allein ist schon klasse. Gruß Steffen ------------------ "Linux is like a wigwam - no windows, no gates and an apache inside !!!" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hillex Mitglied Meister/BWdH/Dipl.Ing.Ind.Engineering
Beiträge: 587 Registriert: 16.01.2002
|
erstellt am: 16. Sep. 2004 00:19 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_WAL
|
Steffen_WAL Mitglied Dipl.-Ing. (FH), Konstrukteur
Beiträge: 923 Registriert: 27.10.2002 Windows XP, MegaCAD 2012-3D, Core 2 Duo E8400, 2048MB RAM, PNY Quadro FX1700, RAID0 298GB
|
erstellt am: 16. Sep. 2004 08:17 <-- editieren / zitieren --> Unities abgeben:
Hallo und guten Morgen, vielen DANK! Ich mach mich heute abend gleich ans testen... Vorab erstmal die 10 Gruß Steffen ------------------ "Linux is like a wigwam - no windows, no gates and an apache inside !!!" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|