C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■9091  C#からVC6DLLに構造体のchar[]を渡す
□投稿者/ techno -(2007/10/18(Thu) 16:39:04)

    分類:[C#] 

    はじめまして、よろしくお願いします。
    最近.NETはじめました。

    VS2005のC#から、VC6で作成したDLLのAPI関数を呼ぶとき
    「型 'stTest' のフィールド 'a' をマーシャリングできません:
    無効なマネージ/アンマネージ型の組み合わせです。chars は I1、I2、U1、または U2
    と組で使用してください。」
    というエラーが出てしまいます。
    MSDN等を参照しましたが、下のソースのどこが間違いなのかわからず困っています。

    stTestという構造体は、DLL呼び出し後にC#側でデータをとる必要があります。

    VC6DLL--------------------------

    #pragma pack (4)
    struct _stTest {
    char a[1024];
    int b;
    char c[1024];
    };
    typedef struct _stTest stTest;
    #pragma pack ()

    int WINAPI test(long x, stTest *y);


    VS2005C#--------------------------

    [StructLayout(LayoutKind.Sequential, Pack = 4, CharSet = CharSet.Ansi)]
    public class stTest
    {
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
    public char a;
    public int b;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
    public char c;
    }

    [DllImport("test.dll")]
    public static extern int test(int x, [Out] stTest y);

    //呼び出し
    int x = 1;
    stTest y = new stTest();

    if (0 < test(x, y)) { ←ここで前述のエラーが出てしまいます。


    どなたかご教授お願いします。
親記事 /過去ログ21より / 関連記事表示
削除チェック/

■9262  ピクチャボックス内のグラフィックで書いた図形の下にJPEGを
□投稿者/ トッチー -(2007/10/23(Tue) 21:58:10)

    分類:[VB.NET/VB2005] 

    タイトルが最大入力可能数を超えたので改めて書きますが、
    ピクチャボックス(PicWaku)内にグラフィックで書いた線などの下側にJPEGなどの画像ファイルを呼び出したいのですが、画像ファイルがグラフィックで書いた線の上になって線が消えてしまいます。

    Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim gra As Graphics
    Dim drawFlg As Boolean
    Dim x1 As Integer = -1, y1 As Integer
    Dim x2 As Integer = -1, y2 As Integer
    Dim mypen As New Pen(Color.Black, 2)
    (中略)
      '起動
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    With picWaku
    .Image = Nothing
    .SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
    .Image = New Bitmap(picWaku.Width, picWaku.Height)
    gra = Graphics.FromImage(.Image)
    gra.Clear(Color.White)
    End With
    End Sub

    Private Sub PicWaku_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PicWaku.MouseMove
    If drawFlg = True Then
    gra.DrawLine(mypen, x2, y2, e.X, e.Y)
    x2 = e.X : y2 = e.Y
    picWaku.Refresh()
    End If
    End Sub
    Private Sub PicWaku_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PicWaku.MouseUp
    drawFlg = False
    picWaku.Refresh()
    End Sub
    Private Sub PicWaku_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PicWaku.MouseDown
    x2 = e.X : y2 = e.Y
    drawFlg = True
    End Sub

      '画像を呼び出すボタン(cmdRoad)
      'このボタンを押したとき、マウスで書いた図形の下に画像を呼び込む
    Private Sub cmdRoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRoad.Click
    Dim MyPath As String = Application.StartupPath
    Dim inifilepath As String
    If MyPath.EndsWith("\") = False Then
    MyPath &= "\"
    End If
    inifilepath = MyPath & "seikai.jpg"
    If System.IO.File.Exists(inifilepath) = True Then
    PicWaku.Image = Image.FromFile(inifilepath)
    'PicWaku.Image = PicWaku.Image
    End If
    End Sub

      '終了するボタン(cmdExit)
    Private Sub cmdExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExit.Click
    Application.Exit()
    End Sub


    Dim gra As Graphics
    の gra を上手く使えば出来そうですが。

    アドバイスをお願いします。
親記事 /過去ログ22より / 関連記事表示
削除チェック/

■72348  Re[1]: localhostのmemcachedが機能しない
□投稿者/ WebSurfer -(2014/06/05(Thu) 10:24:03)
    No72342 (ASP初心者 さん) に返信

    > APS.net(C#)で作られたサーバープログラムのカスタマイズ作業を行っております。
    > 動作確認を効率良く行う為、ローカル環境にmemcachedサービスをインストール&起動してみました。

    質問への直接の回答ではなくてすみませんが・・・

    ASP.NET ベースの Web アプリであれば、サードパーティ製の物を使わなくても、
    ASP.NET のフレームワークとして提供されているキャッシュ機構を利用した方が
    良いと思いますが? それを使わないで Memcached とかを使わなければならな
    い理由があるのでしょうか?

    ASP.NET のキャッシュの概要
    http://msdn.microsoft.com/ja-jp/library/ms178597%28v=VS.100%29.aspx

    DB が SQL Server なら「SQL キャッシュ依存関係」という機能も提供されてい
    ます。

    それを利用すれば、ASP.NET のキャッシュと SQL Server DB のテーブルやレコ
    ードとの間に依存関係を持たせ、当該テーブル/レコードが変更されたら ASP.NET
    のキャッシュを削除し、次のリクエストでは新しいデータを DB から取得してユ
    ーザーに提供するとともに、新しいデータをキャッシュできるようにすると言っ
    た高度なことも可能です。

    SQL キャッシュ依存関係
    http://surferonwww.info/BlogEngine/post/2011/03/28/SQL-Cache-Dependency.aspx
記事No.72342 のレス /過去ログ121より / 関連記事表示
削除チェック/

■93144  Re[1]: シリアル通信で送信をコントロールする方法について
□投稿者/ たれパンダ -(2019/11/24(Sun) 09:18:52)
    他にやったことを補足させていただきます
    シリアルポートに対して以下のような設定をしても RTSが無視されるようです

    SerialPort serialPort1 = new SerialPort("COM1", 4800, Parity.None, 8, StopBits.One);
    serialPort1.Handshake = Handshake.RequestToSend;

    古い DOSプログラムだと問題なく通信ができるので
    ケーブルの結線などには問題がないようです。
記事No.93143 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93156  Re[2]: シリアル通信で送信をコントロールする方法について
□投稿者/ sima -(2019/11/25(Mon) 01:10:51)
    No93144 (たれパンダ さん) に返信
    > 他にやったことを補足させていただきます
    > シリアルポートに対して以下のような設定をしても RTSが無視されるようです
    >
    > SerialPort serialPort1 = new SerialPort("COM1", 4800, Parity.None, 8, StopBits.One);
    > serialPort1.Handshake = Handshake.RequestToSend;
    >
    > 古い DOSプログラムだと問題なく通信ができるので
    > ケーブルの結線などには問題がないようです。
    >


    ケーブルの配線などに問題がないようですなどどいうような
    貴方の解釈ではなく、CTS,RTS,DTR,DSR の制御が使える配線になっている信号ケーブルなのかを示して下さい。

    次に DTR,DSR が互いのPCで使える設定になってるのかも示して下さい。

    相手の DTR を無視するというのは垂れ流しなので、相手が受信可能(電源が入っていて通信可能)だと確実にわかっている場合に
    用いる方式です。
    相手の装置が生きていることを確認したうえで送信側は CTS/RTS を使って通信可能なことを相手に知らせ、
    相手が受信可能なことを確かめた上で、初めて送受信開始できる状態だと知るのが普通だと私は思っています

    なので、これらの信号線がどうつながっているのかが分からないとプログラムのコードから判断するのは
    無理があると考えます

    また、相手の装置がモデムの振りをする場合(制御線の使い方です)は RI,DCD も見た方がいい場合があります。
記事No.93143 のレス /過去ログ161より / 関連記事表示
削除チェック/

■94165  Re[1]: excelファイル内のデータの切り分け・更新の方法について
□投稿者/ はまぐり -(2020/03/23(Mon) 11:44:00)
    No94163 (miyabi さん) に返信

    Excelファイルを切り分けるっていうのは
    このデータはこっちのテーブルに追加
    このデータはあっちのテーブルに追加
    みたいに判別するってことですか?

    どういうデータのときにどのテーブルになるか
    条件を洗い出してチェックすれば良さそうですので
    そんな感じで良さそうです(セクシー論法)
記事No.94163 のレス /過去ログ163より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -