Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: oproep Assembler vanuit VBA  (gelezen 1976 keer)

0 leden en 1 gast bekijken dit topic.

Offline gm34123

  • Lid
  • *
  • Berichten: 66
  • een programmaatje vindt het wel
oproep Assembler vanuit VBA
« Gepost op: 07 april 2010, 09:46:09 »
Beste oplossers,

Ik wens in een VBA programma een Function in Assembler toe te voegen.
Kan iemand mij een "link" geven waar ik de methode kan opzoeken om vanuit VBA een zelf te schrijven Assembler programma aan te roepen.
=> programmanaam aan VBA bekend maken.
=> hoe worden de adressen van de variabelen en de return-waarde doorgegeven.
=> kan gewoon met return terug naar het oproepend prog terug gegaan worden

beste dank voor alle hulp,
Guido

aan moderator: als dit beter in een ander oplossers.item hoort: verplaatsen aub.
Windows 10 Home   NLD 64bit; AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx   2300; LNVNB161216; AMD Radeon(TM) RX Vega 10 Graphics 2048MB 1920 x 1080; AMD High Definition Audio Device; Nr: 1 Model: INTEL SSDPEKNW512G8L; C:\ NTFS 110,07GB 19,02GB 10.117MB; AV: Microsoft Defender Antivirus; FW: Windows Firewal Enabled: True; MS-Office 2019

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: oproep Assembler vanuit VBA
« Reactie #1 Gepost op: 07 april 2010, 11:29:07 »
Je programma krijgt dan na compileren een exel of een com extentie. Vanuit VBA doe je dan:

Shell "Drive:\Path\ProgrammaNaam.exe"
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: oproep Assembler vanuit VBA
« Reactie #2 Gepost op: 07 april 2010, 12:47:27 »
Citaat
hoe worden de adressen van de variabelen en de return-waarde doorgegeven
Hier wordt Shell() voor VBA beschreven: msdn

Het werkt asynchroon, er wordt niet gewacht. Zoals je ziet krijg je de return-waarde dus ook niet, wel een task ID als het succesvol gestart werd. 

Adressen van variabelen doorgeven... ik denk dat je VBA wat overschat ;). Met Win32 API calls kan je misschien het een en ander forceren, maar daar ben ik zelf niet in thuis.

Eventueel kan je wat je in assembler uitvoert in VBA laten uitvoeren?

Offline gm34123

  • Lid
  • *
  • Berichten: 66
  • een programmaatje vindt het wel
Re: oproep Assembler vanuit VBA
« Reactie #3 Gepost op: 08 april 2010, 09:37:49 »
Beste Dizzl en Firebirdy,

Bedoel je dat VBA me vraagt terug te gaan naar de oertijd, toen dergelijke opdracht als volgt verliep:
Het caller-programma schreef de nodige gegevens voor het called-prog in een file en startte het called-prog. Nadien wachtte het caller-prog tot een andere file (met de antwoord-gegevens) door het called-prog gecreeerd was om met de verwerking verder te gaan.

Als de enige manier om in VBA een programma in een andere taal op te roepen een Shell opdracht is, dan moet ik dringend mijn mening over VBA en Bill Microsoft herzien.

Groeten,  Guido
Windows 10 Home   NLD 64bit; AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx   2300; LNVNB161216; AMD Radeon(TM) RX Vega 10 Graphics 2048MB 1920 x 1080; AMD High Definition Audio Device; Nr: 1 Model: INTEL SSDPEKNW512G8L; C:\ NTFS 110,07GB 19,02GB 10.117MB; AV: Microsoft Defender Antivirus; FW: Windows Firewal Enabled: True; MS-Office 2019

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: oproep Assembler vanuit VBA
« Reactie #4 Gepost op: 08 april 2010, 13:53:57 »
Er zijn nog mogelijkheden voor communicatie (zie IPC), maar mijn VB(A)-kennis is beperkt :-\. Misschien heeft iemand hier nog een idee?

Ik zou de vraag alvast stellen op meer gespecialiseerde fora, zoals op de Microsoft Forums, vooral eens bij MSDN proberen ;).

 


www.combell.com